Module: AttributeChain::ClassMethods

Defined in:
lib/attr-chain.rb

Instance Method Summary collapse

Instance Method Details

#attr_chain(*methods) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/attr-chain.rb', line 7

def attr_chain(*methods)
  methods.each do |m|
    define_method(m) do |set|
      ivar = "@#{m}"
      unless set.nil?
        instance_variable_set(ivar, set)
        return self
      else
        return instance_variable_get(ivar)
      end
    end
  end
end