method
method_missing
v1_8_6_287 -
Show latest stable
- Class:
OpenStruct
method_missing(mid, *args)public
No documentation available.
# File lib/ostruct.rb, line 79
def method_missing(mid, *args) # :nodoc:
mname = mid.id2name
len = args.length
if mname =~ /=$/
if len != 1
raise ArgumentError, "wrong number of arguments (#{len} for 1)", caller(1)
end
if self.frozen?
raise TypeError, "can't modify frozen #{self.class}", caller(1)
end
mname.chop!
self.new_ostruct_member(mname)
@table[mname.intern] = args[0]
elsif len == 0
@table[mid]
else
raise NoMethodError, "undefined method `#{mname}' for #{self}", caller(1)
end
end