module Mail::CommonMethodsForField

Private Instance Methods

b_value_encode(string) click to toggle source
# File lib/mail-iso-2022-jp/common_methods_for_field.rb, line 12
def b_value_encode(string)
  string.split(' ').map do |s|
    if s =~ /\e/ || s == "\"" || start_with_specials?(s) || end_with_specials?(s)
      encode64(s)
    else
      s
    end
  end.join(" ")
end
do_decode_with_iso_2022_jp_encoding() click to toggle source
# File lib/mail-iso-2022-jp/common_methods_for_field.rb, line 4
def do_decode_with_iso_2022_jp_encoding
  if charset.to_s.downcase == 'iso-2022-jp'
    value
  else
    do_decode_without_iso_2022_jp_encoding
  end
end
encode(value) click to toggle source
Calls superclass method
# File lib/mail-iso-2022-jp/common_methods_for_field.rb, line 22
def encode(value)
  if charset.to_s.downcase == 'iso-2022-jp'
    value
  else
    super(value)
  end
end
encode64(string) click to toggle source
# File lib/mail-iso-2022-jp/common_methods_for_field.rb, line 30
def encode64(string)
  if string.length > 0
    "=?ISO-2022-JP?B?#{Base64.encode64(string).gsub("\n", "")}?="
  else
    string
  end
end
end_with_specials?(string) click to toggle source
# File lib/mail-iso-2022-jp/common_methods_for_field.rb, line 50
def end_with_specials?(string)
  string =~ /\A[a-zA-Z]+[\(\)<>\[\]:;@\\,\."]+\Z/
end
preprocess(value) click to toggle source
# File lib/mail-iso-2022-jp/common_methods_for_field.rb, line 38
def preprocess(value)
  value = value.to_s.gsub(/#{WAVE_DASH}/, FULLWIDTH_TILDE)
  value = value.to_s.gsub(/#{MINUS_SIGN}/, FULLWIDTH_HYPHEN_MINUS)
  value = value.to_s.gsub(/#{EM_DASH}/, HORIZONTAL_BAR)
  value = value.to_s.gsub(/#{DOUBLE_VERTICAL_LINE}/, PARALLEL_TO)
  value
end
start_with_specials?(string) click to toggle source
# File lib/mail-iso-2022-jp/common_methods_for_field.rb, line 46
def start_with_specials?(string)
  string =~ /\A[\(\)<>\[\]:;@\\,\."]+[a-zA-Z]+\Z/
end