Class: Procore::Response
- Inherits:
-
Object
- Object
- Procore::Response
- Defined in:
- lib/procore/response.rb
Overview
Wrapper class for a response received from the Procore API. Stores the body, code, headers, and pagination information.
When a response returns a collection of elements, a Link Header is included in the response. This header contains one or more URLs that can be used to access more results.
The possible values for pagination are:
next URL for the immediate next page of results.
last URL for the last page of results.
first URL for the first page of results.
prev URL for the immediate previous page of results.
Instance Attribute Summary collapse
-
#code ⇒ Integer
readonly
Status Code returned from Procore API.
-
#headers ⇒ Hash<String, String>
readonly
Raw headers returned from Procore API.
-
#pagination ⇒ Hash<Symbol, String>
readonly
Pagination URLs.
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#request_body ⇒ Object
readonly
Returns the value of attribute request_body.
Instance Method Summary collapse
-
#body ⇒ Array<Hash>, Hash
Ruby representation of JSON response.
-
#initialize(body:, headers:, code:, request:, request_body:) ⇒ Response
constructor
A new instance of Response.
Constructor Details
#initialize(body:, headers:, code:, request:, request_body:) ⇒ Response
Returns a new instance of Response.
50 51 52 53 54 55 56 57 |
# File 'lib/procore/response.rb', line 50 def initialize(body:, headers:, code:, request:, request_body:) @code = code @headers = headers @pagination = parse_pagination @request = request @request_body = request_body @raw_body = !body.to_s.empty? ? body : "{}".to_json end |
Instance Attribute Details
#code ⇒ Integer (readonly)
Returns Status Code returned from Procore API.
48 |
# File 'lib/procore/response.rb', line 48 attr_reader :headers, :code, :pagination, :request, :request_body |
#headers ⇒ Hash<String, String> (readonly)
Returns Raw headers returned from Procore API.
48 49 50 |
# File 'lib/procore/response.rb', line 48 def headers @headers end |
#pagination ⇒ Hash<Symbol, String> (readonly)
Returns Pagination URLs.
48 |
# File 'lib/procore/response.rb', line 48 attr_reader :headers, :code, :pagination, :request, :request_body |
#request ⇒ Object (readonly)
Returns the value of attribute request.
48 49 50 |
# File 'lib/procore/response.rb', line 48 def request @request end |
#request_body ⇒ Object (readonly)
Returns the value of attribute request_body.
48 49 50 |
# File 'lib/procore/response.rb', line 48 def request_body @request_body end |
Instance Method Details
#body ⇒ Array<Hash>, Hash
Returns Ruby representation of JSON response. Hashes are with indifferent access.
61 62 63 |
# File 'lib/procore/response.rb', line 61 def body @body ||= parse_body end |