Sha256: d55e5a13758fd2f3a4463154ee7cd0c464aa23cd1979b76ae80874b3a3206bfc

Contents?: true

Size: 1.07 KB

Versions: 12

Compression:

Stored size: 1.07 KB

Contents

module Fog
  module Parsers
    module Terremark

      class Vapp < Fog::Parsers::Base

        def reset
          @response = { 'Links' => [] }
        end

        def start_element(name, attributes)
          @value = ''
          case name
          when 'Link'
            link = {}
            until attributes.empty?
              link[attributes.shift] = attributes.shift
            end
            @response['Links'] << link
          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!(task.reject {|key,value| !['href', 'name', 'size', 'status', 'type'].include?(key)})
          end
        end

        def end_element(name)
          case name
          when 'IpAddress'
            @response['IpAddress'] = @value
          end
        end

      end

    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
fog-0.0.73 lib/fog/terremark/parsers/vapp.rb
fog-0.0.72 lib/fog/terremark/parsers/vapp.rb
fog-0.0.71 lib/fog/terremark/parsers/vapp.rb
fog-0.0.70 lib/fog/terremark/parsers/vapp.rb
fog-0.0.69 lib/fog/terremark/parsers/vapp.rb
fog-0.0.68 lib/fog/terremark/parsers/vapp.rb
fog-0.0.67 lib/fog/terremark/parsers/vapp.rb
fog-0.0.66 lib/fog/terremark/parsers/vapp.rb
fog-0.0.65 lib/fog/terremark/parsers/vapp.rb
fog-0.0.64 lib/fog/terremark/parsers/vapp.rb
fog-0.0.63 lib/fog/terremark/parsers/vapp.rb
fog-0.0.62 lib/fog/terremark/parsers/vapp.rb