Module: Mail::Jenc::CommonAddressFieldPatch

Defined in:
lib/mail/jenc/fields/address_field_patch.rb

Instance Method Summary collapse

Instance Method Details

#initialize(value, charset = nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/mail/jenc/fields/address_field_patch.rb', line 6

def initialize(value, charset = nil)
  if Jenc.enabled?
    if value.is_a?(String) && !value.ascii_only? && value.encoding == Encoding::UTF_8 && charset && charset.downcase != 'utf-8'
      list = Mail::AddressList.new(value)
      list.addresses.each do |addr|
        if addr.display_name && !addr.display_name.ascii_only?
          addr.display_name = BEncoder.encode(addr.display_name, charset)
        end
      end
      value = list.addresses.map(&:encoded).join(', ')
    end
  end
  super
end