Class: OrderedHash
- Inherits:
-
Hash
- Object
- Hash
- OrderedHash
- Defined in:
- lib/spectabular/ordered_hash.rb
Instance Method Summary collapse
- #[]=(key, val) ⇒ Object
- #delete(key) ⇒ Object
- #each ⇒ Object
- #each_key ⇒ Object
- #each_pair ⇒ Object
- #each_value ⇒ Object
-
#initialize(key_array = []) ⇒ OrderedHash
constructor
A new instance of OrderedHash.
- #map ⇒ Object
- #store ⇒ Object
Constructor Details
#initialize(key_array = []) ⇒ OrderedHash
Returns a new instance of OrderedHash.
5 6 7 8 9 10 |
# File 'lib/spectabular/ordered_hash.rb', line 5 def initialize(key_array=[]) @keys = [] key_array.each do |k| self[k[0]] = k[1] end end |
Instance Method Details
#[]=(key, val) ⇒ Object
12 13 14 15 |
# File 'lib/spectabular/ordered_hash.rb', line 12 def []=(key, val) @keys << key super end |
#delete(key) ⇒ Object
17 18 19 20 |
# File 'lib/spectabular/ordered_hash.rb', line 17 def delete(key) @keys.delete(key) super end |
#each ⇒ Object
22 23 24 |
# File 'lib/spectabular/ordered_hash.rb', line 22 def each @keys.each { |k| yield k, self[k] } end |
#each_key ⇒ Object
30 31 32 |
# File 'lib/spectabular/ordered_hash.rb', line 30 def each_key @keys.each { |k| yield k } end |
#each_pair ⇒ Object
3 |
# File 'lib/spectabular/ordered_hash.rb', line 3 alias_method :each_pair, :each |
#each_value ⇒ Object
34 35 36 |
# File 'lib/spectabular/ordered_hash.rb', line 34 def each_value @keys.each { |k| yield self[k] } end |
#map ⇒ Object
26 27 28 |
# File 'lib/spectabular/ordered_hash.rb', line 26 def map @keys.map { |k| yield k, self[k] } end |
#store ⇒ Object
2 |
# File 'lib/spectabular/ordered_hash.rb', line 2 alias_method :store, :[]= |