class Yardi::Validator::FaultResponse
Ensure that the response has no Fault nodes
Attributes
action[R]
response[R]
Public Class Methods
new(action:, parsed_response:)
click to toggle source
@param parsed_response [Hash<String, Object>] XML response parsed into a
Hash
# File lib/yardi/validator/fault_response.rb, line 9 def initialize(action:, parsed_response:) @action = action @response = parsed_response end
Public Instance Methods
validate!()
click to toggle source
@raise [Yardi::Error::FaultResponse] if the response has a Fault node
# File lib/yardi/validator/fault_response.rb, line 15 def validate! return unless error? raise Error::FaultResponse, error_message end
Private Instance Methods
body()
click to toggle source
# File lib/yardi/validator/fault_response.rb, line 24 def body response['soap:Envelope']['soap:Body'] end
error?()
click to toggle source
# File lib/yardi/validator/fault_response.rb, line 28 def error? !body['soap:Fault'].nil? end
error_message()
click to toggle source
# File lib/yardi/validator/fault_response.rb, line 32 def error_message fault = body['soap:Fault'] fault_message = "#{fault['faultcode']}: #{fault['faultstring']}." details = fault['detail'] details.nil? ? fault_message : "#{fault_message} Details: #{details}" end