diff --git a/src/class.c b/src/class.c index 3912dfe28d..ed1b0cd257 100644 --- a/src/class.c +++ b/src/class.c @@ -722,6 +722,25 @@ mrb_mod_include(mrb_state *mrb, mrb_value klass) return klass; } +/* 15.2.2.4.28 */ +/* + * call-seq: + * mod.include?(module) -> true or false + * + * Returns true if module is included in + * mod or one of mod's ancestors. + * + * module A + * end + * class B + * include A + * end + * class C < B + * end + * B.include?(A) #=> true + * C.include?(A) #=> true + * A.include?(A) #=> false + */ static mrb_value mrb_mod_include_p(mrb_state *mrb, mrb_value mod) {