Class: Ondotori::WebAPI::Api::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/ondotori/webapi/api/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response) ⇒ Response

Returns a new instance of Response.



9
10
11
12
13
# File 'lib/ondotori/webapi/api/response.rb', line 9

def initialize(response)
  @response = response
  validate
  @result = JSON.parse(@response.body)
end

Instance Attribute Details

#resultObject (readonly)

Returns the value of attribute result.



7
8
9
# File 'lib/ondotori/webapi/api/response.rb', line 7

def result
  @result
end

Instance Method Details

#validateObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ondotori/webapi/api/response.rb', line 15

def validate
  unless @response.code == "200"
    result = JSON.parse(@response.body)
    if result.key?("error")
      code = result["error"]["code"]
      message = result["error"]["message"]
      raise Ondotori::WebAPI::Api::Errors::ResponseError.new(message, code)
    end

    # unknown error...
    raise Ondotori::WebAPI::Api::Errors::Error.new("Server response code [#{@response.code}]", 9996)
  end
end