Sha256: 3b3278fff0bd26dc5bf07a704405c72cc800249746d415412e20b833079a92a0
Contents?: true
Size: 1.07 KB
Versions: 3
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true # Copyright (c) 2019 Valencia Management Group # All rights reserved. module TopsConnect class ApiError < ::RuntimeError def initialize(response) @response = response end def to_s format( '%<code>s: %<message>s (%<uri>s)', code: @response.code, message: self.class.error_message(@response.parsed_response), uri: @response.request.last_uri.to_s ) end def self.error_message(parsed_response) case parsed_response when String parsed_response when Hash parsed_response.dig('Message') else '' end end end # The client submitted invalid information. class ClientError < ApiError end # A request was made for a key/query that doesn't exist. class NotFoundError < ClientError end # Something happened but we don't know what and it's probably not our fault. class InternalError < ApiError end # The API took too long to respond, but everything might be fine later. class TimeoutError < InternalError end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tops_connect-0.7.2 | lib/tops_connect/errors.rb |
tops_connect-0.7.1 | lib/tops_connect/errors.rb |
tops_connect-0.7.0 | lib/tops_connect/errors.rb |