Sha256: 2782c3b653d3faf4849d62ad2b515cfc4b500412fe44d41825d03c42ab03be1b

Contents?: true

Size: 1.25 KB

Versions: 8

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

module ErpIntegration
  # The `ErpIntegration::Error` is the default error class for any exception raised
  # on purpose by this gem.
  class Error < StandardError; end

  # The `ErpIntegration::BadConfiguration` is raised whenever the newly provided
  # configuration is not a valid configuration object.
  class BadConfiguration < Error
    def initialize
      super(
        '[ERP Integration] The provided configuration object is not a ' \
          'ErpIntegration::Configuration instance. Please provide a '  \
          'ErpIntegration::Configuration instance when overriding the configuration directly.'
      )
    end
  end

  class ResourceNotFound < Error
    def initialize
      super "[ERP Integration] Couldn't find the requested resource."
    end
  end

  class HttpError < Faraday::Error
    class BadRequest < HttpError; end
    class AuthorizationRequired < HttpError; end
    class PaymentRequired < HttpError; end
    class Forbidden < HttpError; end
    class NotFound < HttpError; end
    class MethodNotAllowed < HttpError; end
    class NotAccepted < HttpError; end
    class UnprocessableEntity < HttpError; end
    class TooManyRequests < Faraday::Error; end
    class InternalServerError < HttpError; end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
erp_integration-1.0.1 lib/erp_integration/errors.rb
erp_integration-1.0.0 lib/erp_integration/errors.rb
erp_integration-0.63.0 lib/erp_integration/errors.rb
erp_integration-0.62.0 lib/erp_integration/errors.rb
erp_integration-0.61.0 lib/erp_integration/errors.rb
erp_integration-0.58.0 lib/erp_integration/errors.rb
erp_integration-0.60.0 lib/erp_integration/errors.rb
erp_integration-0.59.0 lib/erp_integration/errors.rb