Class: Bureaucrat::Utils::OrderedHash

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

Overview

Dumb implementation that is good enough for Forms

Instance Method Summary collapse

Constructor Details

#initializeOrderedHash

Returns a new instance of OrderedHash.



17
18
19
20
# File 'lib/bureaucrat/utils.rb', line 17

def initialize
  super()
  @ordered_keys = []
end

Instance Method Details

#[]=(key, value) ⇒ Object



22
23
24
25
# File 'lib/bureaucrat/utils.rb', line 22

def []=(key, value)
  super(key, value)
  @ordered_keys << key unless @ordered_keys.include?(key)
end

#eachObject



27
28
29
30
31
# File 'lib/bureaucrat/utils.rb', line 27

def each
  @ordered_keys.each do |key|
      yield key, self[key]
    end
end

#initialize_copy(original) ⇒ Object



33
34
35
36
# File 'lib/bureaucrat/utils.rb', line 33

def initialize_copy(original)
  super(original)
  @ordered_keys = original.instance_eval('@ordered_keys').dup
end