Sha256: a076858c7ab29db830dd048a3c8e94c27c4cf83e8181aca97e7d918a2d74520a

Contents?: true

Size: 1.03 KB

Versions: 19

Compression:

Stored size: 1.03 KB

Contents

module Fog
  module Parsers
    module Terremark

      class GetCatalog < Fog::Parsers::Base

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

        def start_element(name, attributes)
          @value = ''
          case name
          when 'CatalogItem'
            catalog_item = {}
            until attributes.empty?
              catalog_item[attributes.shift] = attributes.shift
            end            
            @response['CatalogItems'] << catalog_item
          when 'Catalog'
            catalog = {}
            until attributes.empty?
              if attributes.first.is_a?(Array)
                catalog[attributes.first.first] = attributes.shift.last
              else
                catalog[attributes.shift] = attributes.shift
              end
            end
            @response['name'] = catalog['name']
          end
        end

        def end_element(name)
          if name == 'Description'
            @response[name] = @value
          end
        end

      end

    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
fog-0.0.61 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.60 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.59 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.58 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.57 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.56 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.55 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.54 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.53 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.52 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.51 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.50 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.49 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.48 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.47 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.46 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.45 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.44 lib/fog/terremark/parsers/get_catalog.rb
fog-0.0.43 lib/fog/terremark/parsers/get_catalog.rb