class method
NoMethodError.new
[T] (?::string? msg, ?::String? name, ?::Array[untyped] args, ?::boolish private, ?receiver: T?) -> ::NoMethodError[T]
NoMethodError.new(msg=nil, name=nil, args=nil, private=false, receiver: nil) → no_method_error
error.c
View on GitHub ↗
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.