1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

Remove existing (unused) parser module and introduce a

TerremarkParser - which extends the base parser with the ability to
extract relevant attributes
This commit is contained in:
Chirag Jog 2013-02-12 18:13:18 +05:30
parent a0a2ca31eb
commit 6a0cb4fca8

View file

@ -1,19 +1,20 @@
module Fog
module Terremark
module Shared
module Parser
remove_method :parse
def parse(data)
case data['type']
when 'application/vnd.vmware.vcloud.vApp+xml'
servers.new(data.merge!(:service => self))
else
data
end
class TerremarkParser < Fog::Parsers::Base
def extract_attributes(attributes_xml)
attributes = {}
until attributes_xml.empty?
if attributes_xml.first.is_a?(Array)
until attributes_xml.first.empty?
attribute = attributes_xml.first.shift
attributes[attribute.localname] = attribute.value
end
else
attribute = attributes_xml.shift
attributes[attribute.localname] = attribute.value
end
end
attributes
end
end