# File lib/mail/fields/common/parameter_hash.rb, line 11 def [](key_name) pairs = select { |k,v| k =~ /^#{key_name}\*/ } pairs = pairs.to_a if RUBY_VERSION >= '1.9' if pairs.empty? # Just dealing with a single value pair super(key_name) else # Dealing with a multiple value pair or a single encoded value pair string = pairs.sort { |a,b| a.first <=> b.first }.map { |v| v.last }.join('') if mt = string.match(/([\w\d\-]+)'(\w\w)'(.*)/) string = mt[3] encoding = mt[1] else encoding = nil end Mail::Encodings.param_decode(string, encoding) end end