Method: Fog::Parsers::Terremark::Shared::Vapp#start_element

Defined in:
lib/fog/terremark/parsers/shared/vapp.rb

#start_element(name, attributes) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/fog/terremark/parsers/shared/vapp.rb', line 14

def start_element(name, attributes)
  super
  case name
    when 'Link'
      link = {}
      until attributes.empty?
        link[attributes.shift] = attributes.shift
      end
      @response['Links'] << link
    when 'OperatingSystemSection'
      @in_operating_system = true
   when 'VApp'
      vapp = {}
      until attributes.empty?
        if attributes.first.is_a?(Array)
          attribute = attributes.shift
          vapp[attribute.first] = attribute.last
        else
          vapp[attributes.shift] = attributes.shift
        end
      end
      @response.merge!(vapp.reject {|key,value| !['href', 'name', 'size', 'status', 'type'].include?(key)})
   end
end