Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 536
Rohan Pujari Avatar asked Sep 25 '26 21:09

Rohan Pujari


1 Answers

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.

like image 92
Arup Rakshit Avatar answered Sep 27 '26 10:09

Arup Rakshit