Sha256: 73e95bf3b26e34d8e6cc1192c873d9ae444c19a4cb29f17ef399c932a65b6a48
Contents?: true
Size: 1.93 KB
Versions: 2
Compression:
Stored size: 1.93 KB
Contents
module ActiveShipping #:nodoc: class Error < ActiveUtils::ActiveUtilsError end class ResponseError < Error attr_reader :response def initialize(response = nil) if response.is_a? Response super(response.message) @response = response else super(response) end end end # Basic Response class for requests against a carrier's API. class Response attr_reader :params attr_reader :message attr_reader :test attr_reader :xml attr_reader :request # @param success [Boolean] Whether the request was considered successful, i.e. this # response object will have the expected data set. # @param message [String] A status message. Usuaully set when `success` is `false`, # but can also be set for successful responses. # @param params [Hash] Response parameters # @param options [Hash] # @option options [Boolean] :test (default: false) Whether this reponse was a result # of a request executed against the sandbox or test environment of the carrier's API. # @option options [String] :xml The raw XML of the response. # @option options [String] :request The payload of the request. 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 # Whether the request was executed successfully or not. # @return [Boolean] Should only return `true` if the attributes of teh response # instance are set with useful values. def success? @success ? true : false end # Whether this request was executed against the sandbox or test environment instead of # the production environment of the carrier. # @return [Boolean] def test? @test ? true : false end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
active_shipping-1.0.0.pre4 | lib/active_shipping/response.rb |
active_shipping-1.0.0.pre3 | lib/active_shipping/response.rb |