Class: Veye::API::JSONResponse
- Inherits:
-
Object
- Object
- Veye::API::JSONResponse
- Defined in:
- lib/veye/api/json_response.rb
Overview
Unified API response class
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#headers ⇒ Object
readonly
Returns the value of attribute headers.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#success ⇒ Object
readonly
Returns the value of attribute success.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Instance Method Summary collapse
-
#initialize(request, result, response) ⇒ JSONResponse
constructor
A new instance of JSONResponse.
- #success?(result) ⇒ Boolean
Constructor Details
#initialize(request, result, response) ⇒ JSONResponse
Returns a new instance of JSONResponse.
8 9 10 11 12 13 14 15 |
# File 'lib/veye/api/json_response.rb', line 8 def initialize(request, result, response) @url = request.url @headers = request.headers @code = result.code.to_i response_data = JSON.parse(response) @success, @message = success?(result) @data = response_data end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
7 8 9 |
# File 'lib/veye/api/json_response.rb', line 7 def code @code end |
#data ⇒ Object (readonly)
Returns the value of attribute data.
7 8 9 |
# File 'lib/veye/api/json_response.rb', line 7 def data @data end |
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
7 8 9 |
# File 'lib/veye/api/json_response.rb', line 7 def headers @headers end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
7 8 9 |
# File 'lib/veye/api/json_response.rb', line 7 def @message end |
#success ⇒ Object (readonly)
Returns the value of attribute success.
7 8 9 |
# File 'lib/veye/api/json_response.rb', line 7 def success @success end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
7 8 9 |
# File 'lib/veye/api/json_response.rb', line 7 def url @url end |
Instance Method Details
#success?(result) ⇒ Boolean
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/veye/api/json_response.rb', line 17 def success?(result) @code = result.code.to_i success = false case @code when 200 success = true = 'fetched successfully' when 201 success = true = 'created successfully' when 400 = 'bad request - wrong parameters, data' when 401 = 'not authorized - add apikey or update settings.' when 403 = 'forbidden - server refused execute query' when 413 = 'request entity too big - use smaller data object' when 500 = 'internal server error - write to us' when 501 = 'not implemented - write to us' when 503 = 'service unavailable - temporary overloaded - write to us' when 531 = 'not authorized - add or update api key' else success = false = '' end [success, ] end |