class AdvAccessor::DSL::Create

Attributes

base[RW]
complex[RW]

Public Instance Methods

method_missing(sym,*args,&b) click to toggle source
# File lib/adv_accessor/dsl.rb, line 9
def method_missing(sym,*args,&b)
  if base.respond_to?(sym)
    base.send(sym,*args,&b)
  else
    self.complex = true
    if !block_given? && args.first.kind_of?(Proc)
      b = args.pop 
    end
    if args.first.kind_of?(Hash)
      h = args.pop
      mappings.add(h,&b)
      base.readers.add(sym,h.values.first)
    else
      base.readers.add(sym,*args,&b)
    end
    
  end
end