Method: Dynamic::ClassMethods#method_missing

Defined in:
lib/goat/dynamic.rb

#method_missing(name, *args) ⇒ Object



80
81
82
83
84
85
86
87
88
# File 'lib/goat/dynamic.rb', line 80

def method_missing(name, *args)
  if match = /=\Z/.match(name.to_s)    # setter?
    raise ArgumentError, "invalid setter call"  unless args.size == 1
    self[match.pre_match.intern] = args.first
  else
    raise ArgumentError, "invalid getter call"  unless args.empty?
    self[name]
  end
end