Method: Module#included_modules
- Defined in:
- class.c
#included_modules ⇒ Array
Returns the list of modules included or prepended in mod or one of mod’s ancestors.
module Sub
end
module Mixin
prepend Sub
end
module Outer
include Mixin
end
Mixin.included_modules #=> [Sub]
Outer.included_modules #=> [Sub, Mixin]
1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 |
# File 'class.c', line 1511 VALUE rb_mod_included_modules(VALUE mod) { VALUE ary = rb_ary_new(); VALUE p; VALUE origin = RCLASS_ORIGIN(mod); for (p = RCLASS_SUPER(mod); p; p = RCLASS_SUPER(p)) { if (p != origin && RCLASS_ORIGIN(p) == p && BUILTIN_TYPE(p) == T_ICLASS) { VALUE m = METACLASS_OF(p); if (RB_TYPE_P(m, T_MODULE)) rb_ary_push(ary, m); } } return ary; } |