查找模块中可用的类
我有一个模块MyModule 。 我dynamic加载类到它。 我如何获得在其名称空间中定义的类的列表? 
例:
 def load_plugins Dir.glob(File.dirname(__FILE__) + '/plugins/*.rb') do |f| MyModule.class_eval File.read(f) end # now how can I find the new classes I've loaded into MyModule? end 
 我应该说,每个f包含像“Foo类;结束”的东西。 
你也可以这样想:在Rails中,我怎样才能以编程方式find在ActiveRecord模块中定义的所有类?
类是通过常量访问的。 模块中定义的类在该模块中被列为常量。 所以你只需要select引用类的常量。
 MyModule.constants.select {|c| MyModule.const_get(c).is_a? Class}