在「瞭解Ruby的難題」中,作者建議閱讀某些代碼並嘗試理解它。他們還建議,這將是困難的,但要寫下你對代碼有關的問題。唯一的問題是,我不知道如何獲得Google搜索後的問題的答案,所以我想我會試着在這裏發佈他們,看看有人能幫我解決問題嗎?讓我知道如果這不合適,我會嘗試找到另一種選擇。瞭解HTTParty配置
require 'httparty'
class BaseWebService
include HTTParty
format :json
base_uri URL_to_mock_services
default_options.update(verify: false)
def self.get_data(extension = {}, url = {}, body = {}, query = {})
url_string = combine_extension_and_url(extension, url)
do_get = -> (req_url, req_body, req_query) { get(req_url, body: req_body.class == String ? JSON.parse(req_body) : req_body, query: req_query) }
return_response(url_string, body.to_json, query, &do_get)
end
在上面的代碼中,作者正在設置一個'模擬服務'的請求。作者正在使用HTTParty向服務發出請求。我有以下一些問題:
爲什麼,如果我們需要HTTParty在我們的.rb文件,我們再 必須包括它的類內?它在整個班級中默認不可用 ?
format :json
:這是要將我們從調用中獲得的任何響應格式化爲JSON對象嗎?base_uri
:這是每次我們創建BaseWebService類的新實例時自動調用嗎?如果不是,它是如何觸發的?default_options
:我看到,指出返回屬性的值default_options
,但我不知道這意味着什麼的HTTParty文檔。也不是它在這堂課中用於什麼?
- 語法
do_get = ->
是做什麼用的? - 在類方法
get_data
中,作者使用req_url
,req_body
和req_query
,但我無法在代碼庫中的任何位置找到這些變量或方法。你知道這些是如何使用的嗎?
歡迎來到Stack Overflow。如果你被扔到狼羣,我強烈推薦閱讀其他教程(除了你正在閱讀的那本教程外)。探索其他代碼是很好的,但是你需要一些基礎知識,這些知識在其他教程中有介紹,並且你在問什麼。這不是一個「寫我的網站教程」,所以[我們希望你研究](http://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-堆棧溢出用戶/ 261593#261593)。一旦你耗盡了教程和互聯網,那麼問問題就更合適了。 「[問]」是你的朋友。 –