Exception: SimpleShipping::RequestError

Inherits:
Error
  • Object
show all
Defined in:
lib/simple_shipping/exceptions.rb

Overview

Raised when a remote request fails.

Instance Method Summary collapse

Constructor Details

#initialize(savon_fault) ⇒ RequestError

Returns a new instance of RequestError.

Parameters:

  • savon_fault (Savon::SOAPFault)

    Savon exception



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/simple_shipping/exceptions.rb', line 26

def initialize(savon_fault)
  fault = savon_fault.to_hash[:fault]

  @message =
    if fault[:faultcode] # SOAP 1.1 fault.
      detail = fault[:detail][:errors][:error_detail][:primary_error_code]
      "#{fault[:faultstring]} (#{detail[:code]}) #{detail[:description]}"
    elsif fault[:code] # SOAP 1.2 fault.
      "(#{fault[:code][:value]}) #{fault[:reason][:text]}"
    end

  super(@message)
end