Class: OrderedHash

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

Instance Method Summary collapse

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

#eachObject



22
23
24
# File 'lib/spectabular/ordered_hash.rb', line 22

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

#each_keyObject



30
31
32
# File 'lib/spectabular/ordered_hash.rb', line 30

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

#each_pairObject



3
# File 'lib/spectabular/ordered_hash.rb', line 3

alias_method :each_pair, :each

#each_valueObject



34
35
36
# File 'lib/spectabular/ordered_hash.rb', line 34

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

#mapObject



26
27
28
# File 'lib/spectabular/ordered_hash.rb', line 26

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

#storeObject



2
# File 'lib/spectabular/ordered_hash.rb', line 2

alias_method :store, :[]=