class MailParser::Header
Header
part
Public Class Methods
@param [Hash] opt options @option opt [Boolean] :decode_mime_header decode MIME header @option opt [String] :output_charset output encoding name @option opt [Boolean] :strict raise ParseError
exception when message is invalid
# File lib/mailparser.rb, line 113 def initialize(opt={}) @hash = {} @parsed = {} @raw = {} @opt = opt end
Public Instance Methods
header field value @param [String] name header field name @return [Array<header field value>]
# File lib/mailparser.rb, line 133 def [](name) return nil unless @hash.key? name return @parsed[name] if @parsed.key? name @parsed[name] = @hash[name].map{|h| h.parse}.compact return @parsed[name] end
add header field @param [String] name header field name @param [String] body header field value @return [void]
# File lib/mailparser.rb, line 124 def add(name, body) name = name.downcase @hash[name] = [] unless @hash.key? name @hash[name] << HeaderItem.new(name, body, @opt) end
repeat block for each header field @yield [key, value] @yieldparam [String] key header field name @yieldparam [header field value] value header field value @return [void]
# File lib/mailparser.rb, line 165 def each() @hash.each do |k, v| yield k, self[k] end end
@param [String] name header field name @return [Boolean] true if header field exists
# File lib/mailparser.rb, line 156 def key?(name) return @hash.key?(name) end
@return [Array<String>] header names
# File lib/mailparser.rb, line 150 def keys() return @hash.keys end
@param [String] name header field name @return [Array<String>] raw header value
# File lib/mailparser.rb, line 142 def raw(name) return nil unless @hash.key? name return @raw[name] if @raw.key? name @raw[name] = @hash[name].map{|h| h.raw} return @raw[name] end