Class: OrderedHash

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

Instance Method Summary collapse

Constructor Details

#initialize(default = nil) ⇒ OrderedHash

Returns a new instance of OrderedHash.



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

def initialize(default=nil)
  super(default)
  @order = []
end

Instance Method Details

#[]=(key, val) ⇒ Object



9
10
11
12
13
# File 'lib/OrderedHash.rb', line 9

def []=(key,val)
  @order.delete(key)
  @order.push(key)
  super(key,val)
end

#eachObject



19
20
21
22
23
# File 'lib/OrderedHash.rb', line 19

def each
  @order.each do |key|
    yield(key, self[key])
  end
end

#each_keyObject



25
26
27
28
29
# File 'lib/OrderedHash.rb', line 25

def each_key
  @order.each do |key|
    yield(key)
  end
end

#each_valueObject



31
32
33
34
35
# File 'lib/OrderedHash.rb', line 31

def each_value
  @order.each do |key|
    yield(self[key])
  end
end

#keysObject



15
16
17
# File 'lib/OrderedHash.rb', line 15

def keys
  @order
end