module ChainableAccessor
Constants
- VERSION
Public Instance Methods
chainable_accessor(*attributes, immutable: false)
click to toggle source
Calls superclass method
# File lib/chainable_accessor.rb, line 6 def chainable_accessor(*attributes, immutable: false) mod = Module.new do attributes.each do |name| define_method name do |val = nil| return super() unless val (immutable ? dup : self).tap { |x| x.send("#{name}=", val) } end end end prepend(mod) end