Sha256: 2b8721302aa7551d553b78d03856d26eba3dac9c3cdabf89927f72610d418dbc

Contents?: true

Size: 802 Bytes

Versions: 1

Compression:

Stored size: 802 Bytes

Contents

# frozen_string_literal: true

module PayPro
  class Error < StandardError
    def initialize(
      message: nil,
      http_status: nil,
      http_body: nil,
      http_headers: nil,
      code: nil
    )
      @message = message
      @http_status = http_status
      @http_body = http_body
      @http_headers = http_headers
      @code = code

      super(@message)
    end
  end

  class ConfigurationError < Error; end
  class ConnectionError < Error; end
  class AuthenticationError < Error; end
  class ResourceNotFoundError < Error; end
  class SignatureVerificationError < Error; end

  class ValidationError < Error
    def initialize(param:, **kwargs)
      @param = param
      kwargs[:message] = "#{kwargs[:message]}, with param: \"#{@param}\""

      super(**kwargs)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paypro-2.0.0 lib/pay_pro/errors.rb