Class: Truework::APIResponse
- Inherits:
-
Object
- Object
- Truework::APIResponse
- Defined in:
- lib/truework/api_response.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#api_version ⇒ Object
readonly
Returns the value of attribute api_version.
-
#body ⇒ Object
readonly
Returns the value of attribute body.
-
#status_code ⇒ Object
readonly
Returns the value of attribute status_code.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(url, status_code, http_body: '', api_version: nil, **_params) ⇒ APIResponse
constructor
A new instance of APIResponse.
- #json ⇒ Object
Constructor Details
#initialize(url, status_code, http_body: '', api_version: nil, **_params) ⇒ APIResponse
Returns a new instance of APIResponse.
10 11 12 13 14 15 |
# File 'lib/truework/api_response.rb', line 10 def initialize(url, status_code, http_body: '', api_version: nil, **_params) @url = url @status_code = status_code @body = http_body @api_version = api_version end |
Instance Attribute Details
#api_version ⇒ Object (readonly)
Returns the value of attribute api_version.
8 9 10 |
# File 'lib/truework/api_response.rb', line 8 def api_version @api_version end |
#body ⇒ Object (readonly)
Returns the value of attribute body.
7 8 9 |
# File 'lib/truework/api_response.rb', line 7 def body @body end |
#status_code ⇒ Object (readonly)
Returns the value of attribute status_code.
6 7 8 |
# File 'lib/truework/api_response.rb', line 6 def status_code @status_code end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
5 6 7 |
# File 'lib/truework/api_response.rb', line 5 def url @url end |
Class Method Details
.extract_version(response) ⇒ Object
17 18 19 |
# File 'lib/truework/api_response.rb', line 17 def self.extract_version(response) response.each_header.to_h['version'] end |
.from_response(response) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/truework/api_response.rb', line 21 def self.from_response(response) new( response.uri, response.code.to_i, http_body: response.body, api_version: extract_version(response) ) end |
Instance Method Details
#json ⇒ Object
30 31 32 |
# File 'lib/truework/api_response.rb', line 30 def json @json ||= JSON.parse(@body, symbolize_names: true) if @body && @body.strip != '' end |