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    
getfitter / lib / get_fitter / error.rb
Size: Mime:
module GetFitter
  # Custom error class for rescuing from all GetFitter errors
  class Error < StandardError
    class << self
      # Return a hash of error classes
      # @return [Hash]
      # @example get the total number of pages
      #   GetFitter::Error.errors
      # @api public
      def errors
        @errors ||=  {
          400 => GetFitter::Error::BadRequest,
          401 => GetFitter::Error::Unauthorized,
          403 => GetFitter::Error::Forbidden,
          404 => GetFitter::Error::NotFound,
          500 => GetFitter::Error::InternalServerError,
          503 => GetFitter::Error::ServiceUnavailableError
        }
      end
    end

    # Initializes a new Error object
    #
    # @param message [Exception, String]
    # @param _status [Exception, status]
    # @return [GetFitter::Error]
    # @example
    #   GetFitter::Error.new('You're not fit enough yet, nil)
    # @api public
    def initialize(message = '', _status = nil)
      super(message)
    end

    class ArgumentError < self; end

    # Raised when GetFitter returns a 4xx HTTP status status_code
    class ClientError < self; end

    # Raised when GetFitter returns the HTTP status status_code 400
    class BadRequest < ClientError; end

    # Raised when GetFitter returns the HTTP status status_code 401
    class Unauthorized < ClientError; end

    # Raised when GetFitter returns the HTTP status status_code 403
    class Forbidden < ClientError; end

    # Raised when GetFitter returns the HTTP status status_code 404
    class NotFound < ClientError; end

    # Raised when GetFitter returns a 5xx HTTP status code
    class ServerError < self; end

    # Raised when GetFitter returns the HTTP status status_code 500
    class InternalServerError < ServerError; end

    # Raised when GetFitter returns the HTTP status status_code 503
    class ServiceUnavailableError < ServerError; end

    # Raised when the request times out
    class RequestTimeout < self; end
  end
end