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.



5
6
7
# File 'lib/tops_connect/errors.rb', line 5

def initialize(response)
  @response = response
end

Class Method Details

.error_message(parsed_response) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/tops_connect/errors.rb', line 18

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



9
10
11
12
13
14
15
16
# File 'lib/tops_connect/errors.rb', line 9

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