Module: CoercedAccessor::Compound
- Defined in:
- lib/coerced_accessor/compound.rb
Instance Method Summary collapse
Instance Method Details
#compound_accessor(accessor, *attributes) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/coerced_accessor/compound.rb', line 3 def compound_accessor(accessor, *attributes) = attributes. delimiter = .delete(:delimiter) || ':' define_method accessor do attributes.map { |a| send(a) }.join(delimiter) end define_method "#{accessor}=" do |value| values = value.split(delimiter) attributes.map { |a| send("#{a}=", values.shift) } end end |