module Abbyy::XML
Constants
- AbbyyXmlError
Public Instance Methods
parse_error(resource)
click to toggle source
# File lib/abbyy/xml.rb, line 16 def parse_error(resource) AbbyyXmlError.new.tap do |error| xml_data = REXML::Document.new(resource.http_body) error.code = resource.http_code error.message = xml_data.elements["error/message"].text end end
parse_task(resource)
click to toggle source
# File lib/abbyy/xml.rb, line 3 def parse_task(resource) xml_data = REXML::Document.new(resource) if xml_data.elements["response"].size > 1 Array.new.tap do |tasks| xml_data.elements["response"].each { |response| tasks << build_task(response) } end else build_task(xml_data.elements["response/task"]) end end
Private Instance Methods
build_task(xml_data)
click to toggle source
# File lib/abbyy/xml.rb, line 26 def build_task(xml_data) Hash.new.tap do |task| task[:id] = xml_data.attributes["id"] task[:status] = xml_data.attributes["status"] task[:resultUrl] = xml_data.attributes["resultUrl"] task[:resultUrl2] = xml_data.attributes["resultUrl2"] rescue nil task[:resultUrl3] = xml_data.attributes["resultUrl3"] rescue nil task[:estimatedProcessingTime] = xml_data.attributes["estimatedProcessingTime"] task[:description] = xml_data.attributes["description"] task[:error] = xml_data.attributes["error"] task[:credits] = xml_data.attributes["credits"] task[:filesCount] = xml_data.attributes["filesCount"] task[:statusChangeTime] = xml_data.attributes["statusChangeTime"] task[:registrationTime] = xml_data.attributes["registrationTime"] end end