Module: ChainableAccessor
- Defined in:
- lib/chainable_accessor.rb,
lib/chainable_accessor/version.rb
Constant Summary collapse
- VERSION =
'0.1.0'
Instance Method Summary collapse
Instance Method Details
#chainable_accessor(*attributes) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/chainable_accessor.rb', line 6 def chainable_accessor(*attributes) mod = Module.new do attributes.each do |name| define_method name do |val = nil| return super() unless val tap { |x| x.send("#{name}=", val) } end end end prepend(mod) end |