Class: RuportReportBuilderUtil::OrderedHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/ordered_hash.rb

Instance Method Summary collapse

Constructor Details

#initializeOrderedHash

Returns a new instance of OrderedHash.



4
5
6
# File 'lib/ordered_hash.rb', line 4

def initialize
  @keys = []
end

Instance Method Details

#[]=(key, val) ⇒ Object Also known as: store



8
9
10
11
# File 'lib/ordered_hash.rb', line 8

def []=(key, val)
  @keys << key
  super
end

#delete(key) ⇒ Object



23
24
25
26
# File 'lib/ordered_hash.rb', line 23

def delete(key)
  @keys.delete(key)
  super
end

#eachObject Also known as: each_pair



28
29
30
# File 'lib/ordered_hash.rb', line 28

def each
  @keys.each { |k| yield k, self[k] }
end

#each_keyObject



32
33
34
# File 'lib/ordered_hash.rb', line 32

def each_key
  @keys.each { |k| yield k }
end

#each_valueObject



36
37
38
# File 'lib/ordered_hash.rb', line 36

def each_value
  @keys.each { |k| yield self[k] }
end

#keysObject



13
14
15
# File 'lib/ordered_hash.rb', line 13

def keys
  @keys
end

#valuesObject



17
18
19
20
21
# File 'lib/ordered_hash.rb', line 17

def values
  result = []
  each_value{|v| result << v}
  result
end