Sha256: 67e8186b65eadef030004cbb311121bcf7c94ad4edbe58bcb1841170d826cdef

Contents?: true

Size: 1.28 KB

Versions: 8

Compression:

Stored size: 1.28 KB

Contents

=begin
The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout web service.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

=end

module PostFinanceCheckout
  class ApiError < StandardError
    attr_reader :code, :response_headers, :response_body

    # Usage examples:
    #   ApiError.new
    #   ApiError.new("message")
    #   ApiError.new(:code => 500, :response_headers => {}, :response_body => "")
    #   ApiError.new(:code => 404, :message => "Not Found")
    def initialize(arg = nil)
      if arg.is_a? Hash
        if arg.key?(:message) || arg.key?('message')
          super(arg[:message] || arg['message'])
        else
          super arg
        end

        arg.each do |k, v|
          instance_variable_set "@#{k}", v
        end
      else
        super arg
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
postfinancecheckout-ruby-sdk-4.5.0 lib/postfinancecheckout-ruby-sdk/api_error.rb
postfinancecheckout-ruby-sdk-4.4.0 lib/postfinancecheckout-ruby-sdk/api_error.rb
postfinancecheckout-ruby-sdk-4.2.0 lib/postfinancecheckout-ruby-sdk/api_error.rb
postfinancecheckout-ruby-sdk-3.3.0 lib/postfinancecheckout-ruby-sdk/api_error.rb
postfinancecheckout-ruby-sdk-3.2.0 lib/postfinancecheckout-ruby-sdk/api_error.rb
postfinancecheckout-ruby-sdk-3.1.5 lib/postfinancecheckout-ruby-sdk/api_error.rb
postfinancecheckout-ruby-sdk-3.1.4 lib/postfinancecheckout-ruby-sdk/api_error.rb
postfinancecheckout-ruby-sdk-3.0.2 lib/postfinancecheckout-ruby-sdk/api_error.rb