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

- (OrderedHash) initialize

A new instance of OrderedHash



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

def initialize
  super
  @ordered_keys = []
end

Instance Method Details

- (Object) []=(key, value)



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

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

- (Object) delete(key)



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

def delete(key)
  super(key)
  @ordered_keys.delete(key)
end

- (Object) each



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

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

- (Object) initialize_copy(original)



39
40
41
42
# File 'lib/bureaucrat/utils.rb', line 39

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