Class: PostageApp::Response
- Inherits:
-
Object
- Object
- PostageApp::Response
- Defined in:
- lib/postageapp/response.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
The data payload of the response.
-
#exception ⇒ Object
readonly
Returns the value of attribute exception.
-
#message ⇒ Object
readonly
The message of the response.
-
#status ⇒ Object
readonly
The status of the response in string format (like: ok, bad_request) Will be set to
failif Request times out. -
#uid ⇒ Object
readonly
The UID should match the Request’s UID.
Instance Method Summary collapse
-
#initialize(http_response) ⇒ Response
constructor
Takes in Net::HTTPResponse object as the attribute.
-
#method_missing(method) ⇒ Object
Little helper that checks for the Response status => @response.ok? >> true => @response.fail? >> false.
Constructor Details
#initialize(http_response) ⇒ Response
Takes in Net::HTTPResponse object as the attribute. If something goes wrong Response will be thought of as failed
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/postageapp/response.rb', line 21 def initialize(http_response) hash = JSON::parse(http_response.body) _response = hash['response'] @status = _response['status'] @uid = _response['uid'] @message = _response['message'] @data = hash['data'] rescue => e @status = 'fail' @exception = '[%s] %s' % [ e.class, e ] end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method) ⇒ Object
Little helper that checks for the Response status
=> @response.ok?
>> true
=> @response.fail?
>> false
42 43 44 |
# File 'lib/postageapp/response.rb', line 42 def method_missing(method) /.*?\?$/.match(method.to_s) ? "#{self.status}?" == method.to_s : super(method) end |
Instance Attribute Details
#data ⇒ Object (readonly)
The data payload of the response. This is usually the return value of the request we’re looking for
15 16 17 |
# File 'lib/postageapp/response.rb', line 15 def data @data end |
#exception ⇒ Object (readonly)
Returns the value of attribute exception.
17 18 19 |
# File 'lib/postageapp/response.rb', line 17 def exception @exception end |
#message ⇒ Object (readonly)
The message of the response. Could be used as an error explanation.
11 12 13 |
# File 'lib/postageapp/response.rb', line 11 def @message end |
#status ⇒ Object (readonly)
The status of the response in string format (like: ok, bad_request) Will be set to fail if Request times out
8 9 10 |
# File 'lib/postageapp/response.rb', line 8 def status @status end |
#uid ⇒ Object (readonly)
The UID should match the Request’s UID. If Request didn’t provide with one PostageApp service should generate it for the Response
4 5 6 |
# File 'lib/postageapp/response.rb', line 4 def uid @uid end |