Sha256: 6b7b1763d6346a2f794d7ebf77cea46421903b04c4edbaf57537a5126ccde9dd
Contents?: true
Size: 1.63 KB
Versions: 25
Compression:
Stored size: 1.63 KB
Contents
module ActiveShipping #:nodoc: # 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
25 entries across 25 versions & 1 rubygems