我正在使用纯ruby和RestClient开发一些工具,我想覆盖Request类的默认log_request方法。
LIB / RESTClient实现/ request.rb
module RestClient
class Request
def log_request
RestClient.log << "SECRET"
end
end
end
但是现在,如果我尝试测试它,它就不起作用了:
$ irb
irb(main):001:0> require 'restclient'
=> true
irb(main):002:0> RestClient.log = "stdout"
=> "stdout"
irb(main):003:0> RestClient.get("http://localhost")
RestClient.get "http://localhost", "Accept"=>"*/*; q=0.5, application/xml", "Accept-Encoding"=>"gzip, deflate"
预计只会看到SECRET
作为输出。
我可能错过了,如何在默认的RestClient库中“注入”我的代码?
如何从lib / mytool / somefile.rb中的另一个文件执行此操作?
答案 0 :(得分:0)
由于您将它放在lib文件夹中,因此不会加载此文件,因为已定义了RestClient :: Request常量。将此代码放在config / initializers文件夹中
答案 1 :(得分:0)
require 'restclient'
之后需要完全要求此文件
添加load 'lib/restclient/request.rb'
可以解决问题