Method: OpenStruct#method_missing
- Defined in:
- lib/ostruct.rb
#method_missing(mid, *args) ⇒ Object (private)
:nodoc:
274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 |
# File 'lib/ostruct.rb', line 274 private def method_missing(mid, *args) # :nodoc: len = args.length if mname = mid[/.*(?==\z)/m] if len != 1 raise! ArgumentError, "wrong number of arguments (given #{len}, expected 1)", caller(1) end set_ostruct_member_value!(mname, args[0]) elsif len == 0 @table[mid] else begin super rescue NoMethodError => err err.backtrace.shift raise! end end end |