Class: Fanforce::API::Response

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#curl_commandObject (readonly)

Returns the value of attribute curl_command.



2
3
4
# File 'lib/fanforce/api/response.rb', line 2

def curl_command
  @curl_command
end

#requested_paramsObject (readonly)

Returns the value of attribute requested_params.



2
3
4
# File 'lib/fanforce/api/response.rb', line 2

def requested_params
  @requested_params
end

#requested_urlObject (readonly)

Returns the value of attribute requested_url.



2
3
4
# File 'lib/fanforce/api/response.rb', line 2

def requested_url
  @requested_url
end

Class Method Details

.process(response, request, requested_url, requested_params) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/fanforce/api/response.rb', line 4

def self.process(response, request, requested_url, requested_params)
  raise Fanforce::API::ServerError.new(response, request, requested_url, requested_params) if response.code > 201
  begin  response_hash = Fanforce::Utils.decode_json(response)
  rescue Exception => e; raise Fanforce::API::DecodingError.new(e, response, request, requested_url, requested_params) end
  if !response_hash.is_a?(Hash)
    raise Fanforce::API::DecodingError.new('Server did not send a valid hash.', response, request, requested_url, requested_params)
  elsif response_hash[:results]
    Fanforce::API::Results.new(response_hash, response, request, requested_url, requested_params)
  else
    Fanforce::API::Result.new(response_hash, response, request, requested_url, requested_params)
  end
end