Ruby on rails 在运行时,如何获取文件的路径以及在ruby中从哪个gem加载特定对象/类?

Ruby on rails 在运行时,如何获取文件的路径以及在ruby中从哪个gem加载特定对象/类?,ruby-on-rails,ruby,Ruby On Rails,Ruby,在运行时,如何获取文件的路径以及在ruby中从哪个gem加载特定对象/类 具体来说,我正在使用一个twitter Gem,并在pry中调试时获得一个模块“HTTP”。我想知道这个模块来自哪个Gem。我尝试了HTTP.class和HTTP.class.name。这帮不了什么忙 [3] pry(#<Twitter::REST::Request>)> HTTP.class => Module [4] pry(#<Twitter::REST::Request&

在运行时,如何获取文件的路径以及在ruby中从哪个gem加载特定对象/类

具体来说,我正在使用一个twitter Gem,并在pry中调试时获得一个模块“HTTP”。我想知道这个模块来自哪个Gem。我尝试了HTTP.class和HTTP.class.name。这帮不了什么忙

  [3] pry(#<Twitter::REST::Request>)> HTTP.class
   => Module
  [4] pry(#<Twitter::REST::Request>)> HTTP.class.name
  => "Module"
[3]pry(#)>HTTP.class
=>模块
[4] pry(#)>HTTP.class.name
=>“模块”

试试
HTTParty.method(:get).源位置

它不起作用…[6]pry(#)>HTTP=>HTTP[7]pry(#)>HTTP.method(:get).源位置名称错误:未定义类的方法
get'
模块'?获取gem-from(pry):9:in'method'[8]pry(#)中的HTTP.method(:get)。source_location=>nil[9]pry(#)>我更新了我的答案。基本上,您需要知道类或模块实现了什么方法,然后调用YourClass.method(:your\u method).source\u位置。我的例子只是说明了这是如何工作的。我希望你现在明白了。