Class: ActiveShipping::Response

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

Overview

Basic Response class for requests against a carrier's API.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(success, message, params = {}, options = {}) ⇒ Response

Returns a new instance of Response.

Options Hash (options):

  • :test (Boolean) — default: default: false

    Whether this reponse was a result of a request executed against the sandbox or test environment of the carrier's API.

  • :xml (String)

    The raw XML of the response.

  • :request (String)

    The payload of the request.

Raises:



21
22
23
24
25
26
27
# File 'lib/active_shipping/response.rb', line 21

def initialize(success, message, params = {}, options = {})
  @success, @message, @params = success, message, params.stringify_keys
  @test = options[:test] || false
  @xml = options[:xml]
  @request = options[:request]
  raise ResponseError.new(self) unless success
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



6
7
8
# File 'lib/active_shipping/response.rb', line 6

def message
  @message
end

#paramsObject (readonly)

Returns the value of attribute params.



5
6
7
# File 'lib/active_shipping/response.rb', line 5

def params
  @params
end

#requestObject (readonly)

Returns the value of attribute request.



9
10
11
# File 'lib/active_shipping/response.rb', line 9

def request
  @request
end

#testObject (readonly)

Returns the value of attribute test.



7
8
9
# File 'lib/active_shipping/response.rb', line 7

def test
  @test
end

#xmlObject (readonly)

Returns the value of attribute xml.



8
9
10
# File 'lib/active_shipping/response.rb', line 8

def xml
  @xml
end

Instance Method Details

#success?Boolean

Whether the request was executed successfully or not.



32
33
34
# File 'lib/active_shipping/response.rb', line 32

def success?
  @success ? true : false
end

#test?Boolean

Whether this request was executed against the sandbox or test environment instead of the production environment of the carrier.



39
40
41
# File 'lib/active_shipping/response.rb', line 39

def test?
  @test ? true : false
end