instance method · added in Ruby 3.2
Module#refinements
() -> ::Array[::Refinement]
refinements → array
eval.c
View on GitHub ↗
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);
}
Returns an array of Refinement defined within the receiver.
Example
module A refine Integer do end refine String do end end p A.refinements
produces:
[#<refinement:Integer@A>, #<refinement:String@A>]
Ruby version changes
-
3.2
-
Module#refinementshas been added. [Feature #12737]
-
See also
#refine
#remove_class_variable
#public_method_defined?
#remove_const
also in
4.1 · 3.4 · 3.3 · 3.2