Class: Dryer::Routes::HashObject

Inherits:
Object
  • Object
show all
Defined in:
lib/dryer/routes/hash_object.rb

Instance Method Summary collapse

Constructor Details

#initialize(hash) ⇒ HashObject

Returns a new instance of HashObject.



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/dryer/routes/hash_object.rb', line 4

def initialize(hash)
  hash.each do |k,v|
    key = k.is_a?(Numeric) ? "_#{k}" : k

    self.instance_variable_set(
      "@#{key}", v.is_a?(Hash) ? HashObject.new(v) : v
    )
    self.class.send(
      :define_method, key, proc{self.instance_variable_get("@#{key}")}
    )
  end
end