Module: Disposable::Twin::Property::Unnest
- Included in:
- Disposable::Twin
- Defined in:
- lib/disposable/twin/property/unnest.rb
Instance Method Summary collapse
-
#unnest(name, options) ⇒ Object
TODO: test that nested properties options are “unnested”, too, e.g.
Instance Method Details
#unnest(name, options) ⇒ Object
TODO: test that nested properties options are “unnested”, too, e.g. populator.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/disposable/twin/property/unnest.rb', line 5 def unnest(name, ) from = .delete(:from) # needed to make reform process this field. = definitions.get(from)[:nested].definitions.get(name).instance_variable_get(:@options) # FIXME. = .merge(virtual: true, _inherited: true, private_name: nil) property(name, ) # def_delegators from, name, "#{name}=" # FIXME: this overwrites ActiveSupport#delegate in some cases. define_method name do send(from).send(name) # TODO: fix Forwardable in Ruby. end define_method "#{name}=" do |value| send(from).send("#{name}=", value) end end |