Exception: TopsConnect::ApiError

Inherits:
RuntimeError
  • Object
show all
Defined in:
lib/tops_connect/errors.rb

Direct Known Subclasses

ClientError, InternalError

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response) ⇒ ApiError

Returns a new instance of ApiError.



8
9
10
# File 'lib/tops_connect/errors.rb', line 8

def initialize(response)
  @response = response
end

Class Method Details

.error_message(parsed_response) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/tops_connect/errors.rb', line 21

def self.error_message(parsed_response)
  case parsed_response
  when String
    parsed_response
  when Hash
    parsed_response.dig('Message')
  else
    ''
  end
end

Instance Method Details

#to_sObject



12
13
14
15
16
17
18
19
# File 'lib/tops_connect/errors.rb', line 12

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