Method: Eapi::Methods::Accessor#define_multiple_accessor
- Defined in:
- lib/eapi/methods/accessor.rb
#define_multiple_accessor(field) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/eapi/methods/accessor.rb', line 5 def define_multiple_accessor(field) init = Eapi::Methods::Names.init field fluent_adder = Eapi::Methods::Names.add field fluent_setter = Eapi::Methods::Names.fluent_setter field getter = Eapi::Methods::Names.getter field define_method fluent_adder do |value| current = send(getter) || send(init) if current.respond_to? :add current.add value else current << value end send(fluent_setter, current) end end |