Module: Immobilienscout::RequestErrorHandler

Defined in:
lib/immobilienscout/request_error_handler.rb

Constant Summary collapse

ERROR_RESOURCE_NOT_FOUND =
'ERROR_RESOURCE_NOT_FOUND'
ERROR_COMMON_RESOURCE_NOT_FOUND =
'ERROR_COMMON_RESOURCE_NOT_FOUND'
ERROR_RESOURCE_VALIDATION =
'ERROR_RESOURCE_VALIDATION'

Class Method Summary collapse

Class Method Details

.handle(parsed_response) ⇒ Object

Raises:

  • (error_class)


10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/immobilienscout/request_error_handler.rb', line 10

def handle(parsed_response)
  if parsed_response.messages.is_a?(Array)
    error_code = parsed_response.messages&.first&.code
    error_messages = parsed_response.messages.map(&:messages)
  else
    error_code = parsed_response.messages['messageCode']
    error_messages = Array.wrap(parsed_response.messages['message'])
  end

  error_class = error_class(error_code)
  raise error_class, error_messages
end