Module: KeyMapable
- Defined in:
- lib/key_mapable.rb,
lib/key_mapable/version.rb
Defined Under Namespace
Classes: Accessor, Mapper
Constant Summary
collapse
- VERSION =
"0.6.0"
Instance Method Summary
collapse
Instance Method Details
#define_map(method_name, resolve: ->(val) { val }, subject: :itself, access: :method, &block) ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/key_mapable.rb', line 8
def define_map(method_name,
resolve: ->(val) { val },
subject: :itself,
access: :method, &block)
define_method(method_name) do
value = public_send(subject)
accessor = Accessor.for(access)
mapper = Mapper.new(value, accessor)
mapper.instance_eval(&block)
resolve.call(mapper.structure)
end
end
|