lib/xero_gateway/error.rb in xero_gateway-float-2.0.18 vs lib/xero_gateway/error.rb in xero_gateway-float-2.1.1
- old
+ new
@@ -12,7 +12,23 @@
[:description, :date_time, :type, :message].each do |field|
return false if send(field) != other.send(field)
end
return true
end
+
+ # pass a REXML::Element error object to
+ # have returned a new Error object
+ def self.parse(error_element)
+ description = REXML::XPath.first(error_element, "Description")
+ date = REXML::XPath.first(error_element, "//DateTime")
+ type = REXML::XPath.first(error_element, "//ExceptionType")
+ message = REXML::XPath.first(error_element, "//Message")
+ Error.new(
+ :description => (description.text if description),
+ :date_time => (date.text if date),
+ :type => (type.text if type),
+ :message => (message.text if message)
+ )
+ end
+
end
end