Method: Module#refinements

Defined in:
eval.c

#refinementsArray

Returns an array of Refinement defined within the receiver.

module A
  refine Integer do
  end

  refine String do
  end
end

p A.refinements

produces:

[#<refinement:Integer@A>, #<refinement:String@A>]

Returns:



1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
# File 'eval.c', line 1572

static VALUE
mod_refinements(VALUE self)
{
    ID id_refinements;
    VALUE refinements;

    CONST_ID(id_refinements, "__refinements__");
    refinements = rb_attr_get(self, id_refinements);
    if (NIL_P(refinements)) {
        return rb_ary_new();
    }
    return rb_hash_values(refinements);
}