Class: Trema::OrderedHash

Inherits:
Object
  • Object
show all
Defined in:
ruby/trema/ordered-hash.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeOrderedHash

Returns a new instance of OrderedHash.



24
25
26
27
# File 'ruby/trema/ordered-hash.rb', line 24

def initialize
  @keys = Array.new
  @content = Hash.new
end

Instance Attribute Details

#keysObject (readonly)

Returns the value of attribute keys.



21
22
23
# File 'ruby/trema/ordered-hash.rb', line 21

def keys
  @keys
end

Instance Method Details

#[](key) ⇒ Object



35
36
37
# File 'ruby/trema/ordered-hash.rb', line 35

def [] key
  @content[ key ]
end

#[]=(key, value) ⇒ Object



40
41
42
43
44
45
# File 'ruby/trema/ordered-hash.rb', line 40

def []= key, value
  @content[ key ] = value
  unless @keys.include?( key )
    @keys << key
  end
end

#clearObject



55
56
57
58
59
# File 'ruby/trema/ordered-hash.rb', line 55

def clear
  @keys.clear
  @content.clear
  self
end

#each(&block) ⇒ Object



62
63
64
65
66
# File 'ruby/trema/ordered-hash.rb', line 62

def each &block
  @keys.each do | each |
    block.call each, @content[ each ]
  end
end

#sizeObject



30
31
32
# File 'ruby/trema/ordered-hash.rb', line 30

def size
  @content.size
end

#valuesObject



48
49
50
51
52
# File 'ruby/trema/ordered-hash.rb', line 48

def values
  @keys.map do | each |
    @content[ each ]
  end
end