bundle open disqus_api 没有访问真正的源代码?

bundle open disqus_api not accessing real source code?

我正在试用 gem https://github.com/toptal/disqus_api for use on this project,但很难让它接受我的身份验证详细信息。这可能最终成为一个单独的问题,但现在我想探索源代码并进行一些手动调试。

问题是,当我 bundle open disqus_api 时发生了一些奇怪的事情。它似乎找到了文件,但是当我对它们进行任何更改时(例如用调试器中断),它没有被拾取(并且当它引发错误因此应该向下移动一行时,行号不变) .

也就是说,我可能没有完全错误的地方的一个迹象是,当我暂时删除 gem 的整个 lib 目录时,它仍然加载核心 DisqusApi class , pry 在 class 上的 'show-source' 方法现在输出 Error: Couldn't locate a definition for DisqusApi!.

(编辑添加):

具体来说,是this file

的第70行

所以在我编辑它之后,我们有:

def perform_request #line 68
  require 'byebug' #69
  byebug #70
  yield.tap do |response| #71
    raise InvalidApiRequestError.new(response) if response['code'] != 0 #72
  end
end

但它的错误是这样的: DisqusApi::InvalidApiRequestError: {"code"=>5, "response"=>"Invalid API key"} from /Users/sashacooper/.rvm/gems/ruby-2.3.1/gems/disqus_api-0.0.5/lib/disqus_api/api.rb:70:in块在 perform_request'`

怎么回事?

使用 byebug gem

  1. 在您项目的 Gemfile.rb

    group :development do
      gem 'byebug'
    end
    
  2. 在终端打开disqus_apigem

    bundle open disqus_api
    
  3. 关于 gem 的 lib/disqus_api.rb 需要 byebug gem.

    require 'byebug'
    
  4. 将您的 debugger 调用置于您要调试的线路上