Exception: NoMethodError
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: | |
| Instance Chain: | |
| Inherits: | NameError 
 | 
| Defined in: | error.c, error.c | 
Overview
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_aryraises the exception:
NoMethodError: undefined method `to_ary' for "hello":StringClass Attribute Summary
::Exception - Inherited
| .to_tty? | Returns  | 
Class Method Summary
- 
    
      .new(msg = nil, name = nil, args = nil, private = false, receiver: nil)  ⇒ no_method_error 
    
    constructor
    Construct a NoMethodErrorexception for a method of the given name called with the given arguments.
::NameError - Inherited
| .new | Construct a new  | 
::Exception - Inherited
| .exception | With no argument, or if the argument is the same as the receiver, return the receiver. | 
| .new | Construct a new  | 
Instance Attribute Summary
- 
    
      #private_call?  ⇒ Boolean 
    
    readonly
    Return true if the caused method was called as private. 
Instance Method Summary
- 
    
      #args  ⇒ Object 
    
    Return the arguments passed in as the third parameter to the constructor. 
::NameError - Inherited
| #local_variables | Return a list of the local variable names defined where this  | 
| #name | Return the name associated with this  | 
| #receiver | Return the receiver associated with this  | 
::Exception - Inherited
| #== | Equality—If obj is not an  | 
| #backtrace | Returns any backtrace associated with the exception. | 
| #backtrace_locations | Returns any backtrace associated with the exception. | 
| #cause | Returns the previous exception ($!) at the time this exception was raised. | 
| #exception | With no argument, or if the argument is the same as the receiver, return the receiver. | 
| #full_message | Returns formatted string of exception. | 
| #inspect | Return this exception’s class name and message. | 
| #message | Returns the result of invoking  | 
| #set_backtrace | Sets the backtrace information associated with  | 
| #to_s | Returns exception’s message (or the name of the exception if no message is set). | 
Constructor Details
    .new(msg = nil, name = nil, args = nil, private = false, receiver: nil)  ⇒ no_method_error   
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.
# File 'error.c', line 1833
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);
}
  Instance Attribute Details
    #private_call?  ⇒ Boolean  (readonly)  
Return true if the caused method was called as private.
# File 'error.c', line 2076
static VALUE
nometh_err_private_call_p(VALUE self)
{
    return rb_attr_get(self, id_private_call_p);
}
  Instance Method Details
#args ⇒ Object
Return the arguments passed in as the third parameter to the constructor.
# File 'error.c', line 2063
static VALUE
nometh_err_args(VALUE self)
{
    return rb_attr_get(self, id_args);
}