class NoMethodError
Raised when a method is called on a receiver which doesn’t have it defined and also fails to respond with method_missing
.
"hello".to_ary
raises the exception:
NoMethodError: undefined method `to_ary' for an instance of String
Public Class Methods
Source
static VALUE nometh_err_initialize(int argc, VALUE *argv, VALUE self) { int priv; VALUE args, options; argc = rb_scan_args(argc, argv, "*:", NULL, &options); priv = (argc > 3) && (--argc, RTEST(argv[argc])); args = (argc > 2) ? argv[--argc] : Qnil; if (!NIL_P(options)) argv[argc++] = options; rb_call_super_kw(argc, argv, RB_PASS_CALLED_KEYWORDS); return nometh_err_init_attr(self, args, priv); }
Construct a NoMethodError
exception for a method of the given name called with the given arguments. The name may be accessed using the name
method on the resulting object, and the arguments using the args
method.
If private argument were passed, it designates method was attempted to call in private context, and can be accessed with private_call?
method.
receiver argument stores an object whose method was called.
Public Instance Methods
Source
static VALUE nometh_err_args(VALUE self) { return rb_attr_get(self, id_args); }
Return the arguments passed in as the third parameter to the constructor.
Source
static VALUE nometh_err_private_call_p(VALUE self) { return rb_attr_get(self, id_private_call_p); }
Return true if the caused method was called as private.