class TerminalShop::APIStatusError

def self.for(url:, status:, body:, request:, response:, message: nil)

Returns:
  • (TerminalShop::APIStatusError) -

Parameters:
  • message (String, nil) --
  • response (nil) --
  • request (nil) --
  • body (Object, nil) --
  • status (Integer) --
  • url (URI::Generic) --

Other tags:
    Private: -
def self.for(url:, status:, body:, request:, response:, message: nil)
  kwargs = {url: url, status: status, body: body, request: request, response: response, message: message}
  case status
  in 400
    TerminalShop::BadRequestError.new(**kwargs)
  in 401
    TerminalShop::AuthenticationError.new(**kwargs)
  in 403
    TerminalShop::PermissionDeniedError.new(**kwargs)
  in 404
    TerminalShop::NotFoundError.new(**kwargs)
  in 409
    TerminalShop::ConflictError.new(**kwargs)
  in 422
    TerminalShop::UnprocessableEntityError.new(**kwargs)
  in 429
    TerminalShop::RateLimitError.new(**kwargs)
  in (500..)
    TerminalShop::InternalServerError.new(**kwargs)
  else
    TerminalShop::APIStatusError.new(**kwargs)
  end
end

def initialize(url:, status:, body:, request:, response:, message: nil)

Parameters:
  • message (String, nil) --
  • response (nil) --
  • request (nil) --
  • body (Object, nil) --
  • status (Integer) --
  • url (URI::Generic) --

Other tags:
    Private: -
def initialize(url:, status:, body:, request:, response:, message: nil)
  message ||= {url: url.to_s, status: status, body: body}
  super(
    url: url,
    status: status,
    body: body,
    request: request,
    response: response,
    message: message&.to_s
  )
end