Repository URL to install this package:
|
Version:
4.0 ▾
|
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