class RIMS::RFC822::Header
Attributes
raw_source[R]
Public Class Methods
new(header_txt)
click to toggle source
# File lib/rims/rfc822.rb, line 480 def initialize(header_txt) @raw_source = header_txt @field_list = nil @field_table = nil end
Public Instance Methods
[](name)
click to toggle source
API methods
# File lib/rims/rfc822.rb, line 509 def [](name) setup_header if (value_list = @field_table[name.downcase]) then value_list[0] end end
each_key() { |key| ... }
click to toggle source
# File lib/rims/rfc822.rb, line 552 def each_key setup_header return enum_for(:each_key) unless block_given? @field_table.each_key do |key| yield(key) end self end
each_pair() { |name, value| ... }
click to toggle source
# File lib/rims/rfc822.rb, line 561 def each_pair setup_header return enum_for(:each_pair) unless block_given? for name, value in @field_list yield(name, value) end self end
Also aliased as: each
empty?()
click to toggle source
# File lib/rims/rfc822.rb, line 532 def empty? setup_header @field_list.empty? end
fetch_upcase(name)
click to toggle source
# File lib/rims/rfc822.rb, line 516 def fetch_upcase(name) setup_header if (value_list = @field_table[name.downcase]) then value_list[0].upcase end end
field_value_list(name)
click to toggle source
# File lib/rims/rfc822.rb, line 523 def field_value_list(name) setup_header @field_table[name.downcase] end
key?(name)
click to toggle source
# File lib/rims/rfc822.rb, line 537 def key?(name) setup_header @field_table.key? name.downcase end
keys()
click to toggle source
# File lib/rims/rfc822.rb, line 547 def keys setup_header @field_table.keys end
Private Instance Methods
setup_header()
click to toggle source
# File lib/rims/rfc822.rb, line 488 def setup_header if (@field_list.nil? || @field_table.nil?) then @field_list = Parse.parse_header(@raw_source) @field_table = {} for name, value in @field_list key = name.downcase.freeze @field_table[key] = [] unless (@field_table.key? key) @field_table[key] << value end @field_table.each_value do |value_list| value_list.freeze end @field_table.freeze end nil end