Class: Rubeetup::RequestResponse
- Inherits:
-
Object
- Object
- Rubeetup::RequestResponse
- Includes:
- Utilities
- Defined in:
- lib/rubeetup/request_response.rb
Overview
Packages a response, and provides for its validation
Instance Attribute Summary collapse
-
#parsed_body ⇒ Hash{Symbol=>...}
readonly
Parsed_body the JSON-parsed body of the response.
-
#request ⇒ Rubeetup::Request
readonly
The request which caused this response.
-
#response ⇒ Net::HTTPResponse
readonly
Response the raw response from the sender.
Instance Method Summary collapse
-
#data ⇒ Array<Rubeetup::ResponseWrapper>
If the request was successful, then creates a collection of Rubeetup::ResponseWrapper instances.
-
#initialize(sender) ⇒ RequestResponse
constructor
A new instance of RequestResponse.
Methods included from Utilities
#blank?, #collection_symbolyzer, #present?, #stringify
Constructor Details
#initialize(sender) ⇒ RequestResponse
Returns a new instance of RequestResponse.
29 30 31 32 33 34 |
# File 'lib/rubeetup/request_response.rb', line 29 def initialize(sender) @response = sender.response_data @request = sender.request body = @response.body @parsed_body = blank?(body) ? [] : parse(body) end |
Instance Attribute Details
#parsed_body ⇒ Hash{Symbol=>...} (readonly)
Returns parsed_body the JSON-parsed body of the response. It is a Hash with all the keys as Symbols.
19 20 21 |
# File 'lib/rubeetup/request_response.rb', line 19 def parsed_body @parsed_body end |
#request ⇒ Rubeetup::Request (readonly)
Returns the request which caused this response.
24 25 26 |
# File 'lib/rubeetup/request_response.rb', line 24 def request @request end |
#response ⇒ Net::HTTPResponse (readonly)
Returns response the raw response from the sender.
13 14 15 |
# File 'lib/rubeetup/request_response.rb', line 13 def response @response end |
Instance Method Details
#data ⇒ Array<Rubeetup::ResponseWrapper>
If the request was successful, then creates a collection of Rubeetup::ResponseWrapper instances.
41 42 43 44 45 |
# File 'lib/rubeetup/request_response.rb', line 41 def data fail error_class.new(self), unless success? collection = collectionize(parsed_body) collection.map {|elem| wrapper_class.new(elem)} end |