Sha256: 8d0e211b02952d8303fa19e61253e6dc9a6845f599fd8567585319a340316477

Contents?: true

Size: 880 Bytes

Versions: 2

Compression:

Stored size: 880 Bytes

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

  class Response
    attr_reader :params
    attr_reader :message
    attr_reader :test
    attr_reader :xml
    attr_reader :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

    def success?
      @success ? true : false
    end

    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.pre2 lib/active_shipping/response.rb
active_shipping-1.0.0.pre1 lib/active_shipping/response.rb