File: 7bit.rb

package info (click to toggle)
ruby-mail 2.8.1%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,704 kB
  • sloc: ruby: 73,709; makefile: 3
file content (27 lines) | stat: -rw-r--r-- 659 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# encoding: utf-8
# frozen_string_literal: true
require 'mail/encodings/8bit'

module Mail
  module Encodings
    # 7bit and 8bit are equivalent. 7bit encoding is for text only.
    class SevenBit < EightBit
      NAME = '7bit'
      PRIORITY = 1
      Encodings.register(NAME, self)

      def self.decode(str)
        ::Mail::Utilities.binary_unsafe_to_lf str
      end

      def self.encode(str)
        ::Mail::Utilities.binary_unsafe_to_crlf str
      end

      # Per RFC 2045 2.7. 7bit Data, No octets with decimal values greater than 127 are allowed.
      def self.compatible_input?(str)
        str.ascii_only? && super
      end
    end
  end
end