fog--fog/lib/fog/terremark/parsers/task.rb

39 lines
945 B
Ruby
Raw Normal View History

module Fog
module Parsers
module Terremark
class Task < Fog::Parsers::Base
def reset
@response = {}
end
def start_element(name, attributes)
@value = ''
case name
when 'Owner', 'Result'
data = {}
until attributes.empty?
data[attributes.shift] = attributes.shift
end
@response[name] = data
when 'Task'
task = {}
until attributes.empty?
if attributes.first.is_a?(Array)
attribute = attributes.shift
task[attribute.first] = attribute.last
else
task[attributes.shift] = attributes.shift
end
end
@response.merge!(task.reject {|key,value| !['endTime', 'href', 'startTime', 'status', 'type'].include?(key)})
end
end
end
end
end
end