Class: Fog::Parsers::Terremark::Shared::Task
- Inherits:
-
Base
- Object
- Nokogiri::XML::SAX::Document
- Base
- Fog::Parsers::Terremark::Shared::Task
- Defined in:
- lib/rackspace-fog/terremark/parsers/shared/task.rb
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Base
#attr_value, #characters, #initialize, #value
Constructor Details
This class inherits a constructor from Fog::Parsers::Base
Instance Method Details
#reset ⇒ Object
8 9 10 |
# File 'lib/rackspace-fog/terremark/parsers/shared/task.rb', line 8 def reset @response = {} end |
#start_element(name, attributes) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/rackspace-fog/terremark/parsers/shared/task.rb', line 12 def start_element(name, attributes) super case name when 'Owner', 'Result', 'Link', 'Error' 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 |