🔍

No recent searches

# class NoMatchingPatternKeyError

Raised when matching key not found.

### Public Class Methods

new(message=nil, matchee: nil, key: nil) → no_matching_pattern_key_error
Source

    static VALUE
    no_matching_pattern_key_err_initialize(int argc, VALUE *argv, VALUE self)
    {
        VALUE options;

        rb_call_super(rb_scan_args(argc, argv, "01:", NULL, &options), argv);

        if (!NIL_P(options)) {
            ID keywords[2];
            VALUE values[numberof(keywords)];
            int i;
            keywords[0] = id_matchee;
            keywords[1] = id_key;
            rb_get_kwargs(options, keywords, 0, numberof(values), values);
            for (i = 0; i < numberof(values); ++i) {
                if (!UNDEF_P(values[i])) {
                    rb_ivar_set(self, keywords[i], values[i]);
                }
            }
        }

        return self;
    }

Construct a new `NoMatchingPatternKeyError` exception with the given message, matchee and key.

### Public Instance Methods

key → object
Source

    static VALUE
    no_matching_pattern_key_err_key(VALUE self)
    {
        VALUE key;

        key = rb_ivar_lookup(self, id_key, Qundef);
        if (!UNDEF_P(key)) return key;
        rb_raise(rb_eArgError, "no key is available");
    }

Return the key caused this `NoMatchingPatternKeyError` exception.

matchee → object
Source

    static VALUE
    no_matching_pattern_key_err_matchee(VALUE self)
    {
        VALUE matchee;

        matchee = rb_ivar_lookup(self, id_matchee, Qundef);
        if (!UNDEF_P(matchee)) return matchee;
        rb_raise(rb_eArgError, "no matchee is available");
    }

Return the matchee associated with this `NoMatchingPatternKeyError` exception.