ruby/rails: How to determine if module is included? ruby/rails: How to determine if module is included? ruby-on-rails ruby-on-rails

ruby/rails: How to determine if module is included?


If I understand your question correctly, you can use Module#include?:

Man.include?(Features)

For example:

module Mendclass C  include MendC.include?(M) # => true

Other ways

Checking Module#included_modules

This works, but it's a bit more indirect, since it generates intermediate included_modules array.

C.included_modules.include?(M) # => true

since C.included_modules has a value of [M, Kernel]

Checking Module#ancestors

C.ancestors.include?(M) #=> true

since C.ancestors has a value of [C, M, Object, Kernel, BasicObject]

Using operators like <

The Module class also declares several comparison operators:

Example:

C < M # => true