Rohan Pujari
Rohan Pujari

Reputation: 838

Get all classes defined in module ruby

Is it possible to know all the classes defined inside a module in ruby.

module A
  class Klass
  end
  class Klass1
  end
end

Is there any ruby introspection method to get all the classes defined in module A?

Upvotes: 3

Views: 2871

Answers (1)

Arup Rakshit
Arup Rakshit

Reputation: 118299

Here is one way

module A
  class Klass
  end
  X = 10
  module B;end
end

# Just to list the class(s) defined inside A
A.constants.select { |k| A.const_get(k).instance_of? Class } # => [:Klass] 

Nice post to do the same in recursively.

Upvotes: 11

Related Questions