Module: CoercedAccessor::Split
- Defined in:
- lib/coerced_accessor/split.rb
Instance Method Summary collapse
Instance Method Details
#split_accessors(attribute, *accessors) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/coerced_accessor/split.rb', line 3 def split_accessors(attribute, *accessors) = accessors. delimiter = .delete(:delimiter) || ':' accessors.each.with_index do |accessor, index| define_method accessor do send(attribute).to_s.split(delimiter)[index] end define_method "#{accessor}=" do |value| values = accessors.map { |a| send(a) } values[index] = value send("#{attribute}=", values.join(delimiter)) end end end |