为rest_client gem有以下示例中的文件:参数传递给块
RestClient.get('http://my-rest-service.com/resource'){ |response, request, result, &block|
case response.code
when 200
p "It worked !"
response
when 423
raise SomeCustomExceptionIfYouWant
else
response.return!(request, result, &block)
end
}
你怎么知道什么属性可在上述每个块的变量? response
,request
等分别具有哪些属性?当我运行rest_client
:
response = RestClient.get('http://www.google.com')
很多东西都返回response
:
response.instance_variables # => [:@net_http_res, :@args, :@request, :@code]
response.net_http_res # => #<Net::HTTPOK 200 OK readbody=true>
response.args # => {:method=>:get, :url=>"http://www.google.com", :headers=>{}}
response.code # => 200
哪些部分的response
可用来块?参数的顺序是否重要?