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
在您项目的 Gemfile.rb
group :development do
gem 'byebug'
end
在终端打开disqus_apigem
bundle open disqus_api
关于 gem 的 lib/disqus_api.rb 需要 byebug gem.
require 'byebug'
将您的 debugger
调用置于您要调试的线路上
我正在试用 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
在您项目的 Gemfile.rb
group :development do gem 'byebug' end
在终端打开disqus_apigem
bundle open disqus_api
关于 gem 的 lib/disqus_api.rb 需要 byebug gem.
require 'byebug'
将您的
debugger
调用置于您要调试的线路上