Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
elxp-pay-api-error / lib / elxp-pay-api / error / api_error.rb
Size: Mime:
# frozen_string_literal: true

module ElxpPayApi
  module Error
    # ApiError
    class ApiError < StandardError
      attr_reader :status, :payload, :send_error, :code

      def initialize(message,
                     status:,
                     code:,
                     payload: nil,
                     send_error: false)
        @status = status
        @code = code
        @payload = payload || { error: message, status: status }
        @send_error = send_error
        super(message)
      end

      def self.descendants
        ObjectSpace.each_object(Class).select { |klass| klass < self }
      end
    end
  end
end