Class: SHL::OrderedHash

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

Instance Method Summary collapse

Constructor Details

#initialize(initial_values) ⇒ OrderedHash

Returns a new instance of OrderedHash.



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

def initialize(initial_values)
  initial_values.each do |key, value|
    self[key] = value
  end
end

Instance Method Details

#[]=(key, value) ⇒ Object



15
16
17
18
19
# File 'lib/shl.rb', line 15

def []=(key, value)
  @order ||= []
  @order << key
  super
end

#each(&block) ⇒ Object



21
22
23
24
25
# File 'lib/shl.rb', line 21

def each(&block)
  @order.each do |key|
    block.call(key, self[key])
  end
end