Class: Mail::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/mail-iso-2022-jp/patches.rb

Instance Method Summary collapse

Instance Method Details

#body_with_iso_2022_jp_encoding=(value) ⇒ Object Also known as: body=



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/mail-iso-2022-jp/patches.rb', line 22

def body_with_iso_2022_jp_encoding=(value)
  if @charset.to_s.downcase == 'iso-2022-jp'
    if RUBY_VERSION >= '1.9'
      if value.respond_to?(:encoding) && value.encoding.to_s != 'UTF-8'
        raise ::Mail::InvalidEncodingError.new(
          "The mail body is not encoded in UTF-8 but in #{value.encoding}")
      end
    end
  end
  self.body_without_iso_2022_jp_encoding = value
end

#process_body_raw_with_iso_2022_jp_encodingObject Also known as: process_body_raw



36
37
38
39
40
41
42
43
44
45
46
# File 'lib/mail-iso-2022-jp/patches.rb', line 36

def process_body_raw_with_iso_2022_jp_encoding
  if @charset.to_s.downcase == 'iso-2022-jp'
    @body_raw = @body_raw.to_s.gsub(/#{WAVE_DASH}/, FULLWIDTH_TILDE)
    if RUBY_VERSION >= '1.9'
      @body_raw = Mail.encoding_to_charset(@body_raw, @charset)
    else
      @body_raw = NKF.nkf(NKF_OPTIONS, @body_raw)
    end
  end
  process_body_raw_without_iso_2022_jp_encoding
end