有没有办法告诉Rails进程在运行时加载哪些gem和插件?

时间:2010-04-30 22:13:23

标签: ruby-on-rails plugins rubygems debugging ruby-debug

debuggerruby-debug中是否有任何命令可以获取Rails进程在内存中加载的所有gem和/或插件的列表?我知道只加载了'require'宝石,但我想快速查看运行时加载的内容。

3 个答案:

答案 0 :(得分:38)

这应该可以通过rubygems获取所有内容:

Gem.loaded_specs.keys

我不知道一种通用的方法来查看哪些rails插件已加载,你可以查看Rails :: Initializer(3.0之前版本)&的源代码。找出您的rails版本正在做什么。希望你知道哪些插件应该加载&可以在调试时从控制台确认。

答案 1 :(得分:28)

版本:

Gem.loaded_specs.values.map {|x| "#{x.name} #{x.version}"}

答案 2 :(得分:3)

我认为使用Gem.loaded_specs.keys的上述答案显示了“加载路径”中的宝石。

但是,您最初询问加载到内存中的宝石,this答案可能会更有帮助。