我有一个遗留的 Rails 应用程序,在全局命名空间中有很多有趣的(无用的)模块和类。我想知道使用 rails c
需要哪些文件或 gem。
我知道它存在于方法:.source_location
、__line__
、__file__
和调用者对象,但它似乎与确定来源无关一个类或一个模块。
有什么想法吗?谢谢!
使用:
- ruby 1.9.2
- pry 动
- rails 3.1.1
最佳答案
你不能直接为类/模块找到它——但是如果你查看类/模块上定义的方法,你可以找到它们的定义位置——通过代理,这也是类/模块的定义位置定义了模块。
在Pry你可以去:
[3] (pry) main: 0> stat Set#initialize
Method Information:
--
Name: initialize
Owner: Set
Visibility: private
Type: Unbound
Arity: -1
Method Signature: initialize(enum=?, &block)
Source Location: /Users/john/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/set.rb:67
看看上面的最后一项。
关于ruby-on-rails - 在运行时,如何检查从哪里加载模块或类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8053558/