Class: FriendlyShipping::ApiErrorHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/friendly_shipping/api_error_handler.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_error_class: FriendlyShipping::ApiError) ⇒ ApiErrorHandler



12
13
14
# File 'lib/friendly_shipping/api_error_handler.rb', line 12

def initialize(api_error_class: FriendlyShipping::ApiError)
  @api_error_class = api_error_class
end

Instance Attribute Details

#api_error_classObject (readonly)

Returns the value of attribute api_error_class.



9
10
11
# File 'lib/friendly_shipping/api_error_handler.rb', line 9

def api_error_class
  @api_error_class
end

Instance Method Details

#call(error, original_request: nil, original_response: nil) ⇒ Dry::Monads::Failure<FriendlyShipping::ApiFailure>



20
21
22
23
24
25
26
27
28
# File 'lib/friendly_shipping/api_error_handler.rb', line 20

def call(error, original_request: nil, original_response: nil)
  Failure(
    ApiFailure.new(
      api_error_class.new(error),
      original_request: original_request,
      original_response: Response.new_from_rest_client_response(original_response)
    )
  )
end