Class: RIMS::RFC822::Header

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/rims/rfc822.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(header_txt) ⇒ Header

Returns a new instance of Header.



481
482
483
484
485
# File 'lib/rims/rfc822.rb', line 481

def initialize(header_txt)
  @raw_source = header_txt
  @field_list = nil
  @field_table = nil
end

Instance Attribute Details

#raw_sourceObject (readonly)

Returns the value of attribute raw_source.



487
488
489
# File 'lib/rims/rfc822.rb', line 487

def raw_source
  @raw_source
end

Instance Method Details

#[](name) ⇒ Object

API methods



510
511
512
513
514
515
# File 'lib/rims/rfc822.rb', line 510

def [](name)
  setup_header
  if (value_list = @field_table[name.downcase]) then
    value_list[0]
  end
end

#each_keyObject



553
554
555
556
557
558
559
560
# File 'lib/rims/rfc822.rb', line 553

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_pairObject Also known as: each



562
563
564
565
566
567
568
569
# File 'lib/rims/rfc822.rb', line 562

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

#empty?Boolean

Returns:

  • (Boolean)


533
534
535
536
# File 'lib/rims/rfc822.rb', line 533

def empty?
  setup_header
  @field_list.empty?
end

#fetch_upcase(name) ⇒ Object



517
518
519
520
521
522
# File 'lib/rims/rfc822.rb', line 517

def fetch_upcase(name)
  setup_header
  if (value_list = @field_table[name.downcase]) then
    value_list[0].upcase
  end
end

#field_value_list(name) ⇒ Object



524
525
526
527
# File 'lib/rims/rfc822.rb', line 524

def field_value_list(name)
  setup_header
  @field_table[name.downcase]
end

#key?(name) ⇒ Boolean Also known as: has_key?, include?, member?

Returns:

  • (Boolean)


538
539
540
541
# File 'lib/rims/rfc822.rb', line 538

def key?(name)
  setup_header
  @field_table.key? name.downcase
end

#keysObject



548
549
550
551
# File 'lib/rims/rfc822.rb', line 548

def keys
  setup_header
  @field_table.keys
end