Method: L43::OpenObject::Initializer#define_dynamic_to_h

Defined in:
lib/l43/open_object/initializer.rb

#define_dynamic_to_h(klass, keys) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/l43/open_object/initializer.rb', line 33

def define_dynamic_to_h(klass, keys)
  klass.define_method :to_h do |*|
    keys.inject({}) do |r, k|
      r.update(k => instance_variable_get("@#{k}"))
    end
  end
  klass.alias_method :deconstruct_keys, :to_h
end