Module: KeyMapable

Defined in:
lib/key_mapable.rb,
lib/key_mapable/version.rb

Defined Under Namespace

Classes: Mapper

Constant Summary collapse

VERSION =
"0.2.0"

Instance Method Summary collapse

Instance Method Details

#define_map(method_name, resolve: ->(val) { val }, subject: :itself, &block) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/key_mapable.rb', line 7

def define_map(method_name, resolve: ->(val) { val }, subject: :itself, &block)
  define_method(method_name) do
    value = public_send(subject)
    mapper = Mapper.new(value)
    mapper.instance_eval(&block)
    resolve.call(mapper.tree)
  end
end