class TaxCloud::Responses::Base
A base TaxCloud
SOAP response.
Attributes
raw[RW]
Raw response.
Public Class Methods
error_message(value)
click to toggle source
error_number(value)
click to toggle source
new(savon_response)
click to toggle source
parse(savon_response)
click to toggle source
Private Class Methods
set_dsl(key, value)
click to toggle source
# File lib/tax_cloud/responses/base.rb, line 65 def set_dsl(key, value) self.dsl ||= {} self.dsl[key] = value self.dsl end
Public Instance Methods
match(chain)
click to toggle source
Match an element in the SOAP response.
Parameters¶ ↑
- chain
-
XML path to match.
# File lib/tax_cloud/responses/base.rb, line 49 def match(chain) current_value = raw chain.split('/').each do |key| current_value = current_value[key.to_sym] next if current_value raise TaxCloud::Errors::UnexpectedSoapResponse.new(raw, key, chain) end current_value end
Private Instance Methods
parse!()
click to toggle source
# File lib/tax_cloud/responses/base.rb, line 72 def parse! if self.dsl[:response_type] case match(self.dsl[:response_type]) when 'OK', 'Informational' then return true end elsif self.dsl[:error_number] return true if match(self.dsl[:error_number]) == '0' end raise TaxCloud::Errors::ApiError.new(match(self.dsl[:error_message]), raw) if self.dsl[:error_message] end