module Immobilienscout::RequestErrorHandler
Constants
- ERROR_COMMON_RESOURCE_NOT_FOUND
- ERROR_RESOURCE_NOT_FOUND
- ERROR_RESOURCE_VALIDATION
Public Class Methods
handle(parsed_response)
click to toggle source
# 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
Private Class Methods
error_class(error_code)
click to toggle source
# File lib/immobilienscout/request_error_handler.rb, line 25 def error_class(error_code) case error_code when ERROR_RESOURCE_NOT_FOUND Immobilienscout::Errors::ResourceNotFound when ERROR_COMMON_RESOURCE_NOT_FOUND Immobilienscout::Errors::CommonResourceNotFound when ERROR_RESOURCE_VALIDATION Immobilienscout::Errors::ResourceValidation else Immobilienscout::Errors::InvalidRequest end end