Sha256: 5a270c37bcbc53de4d7163a107a4fcad6c4a322c05cc9d7c7ce45b153fc65f23

Contents?: true

Size: 1.09 KB

Versions: 16

Compression:

Stored size: 1.09 KB

Contents

module Fog
  module Parsers
    module Terremark

      class GetCatalogItem < Fog::Parsers::Base

        def reset
          @response = { 'Entity' => {}, 'Properties' => {} }
        end

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

        def end_element(name)
          if name == 'Property'
            @response['Properties'][@property_key] = @value
          end
        end

      end

    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
fog-0.0.77 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.76 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.75 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.74 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.73 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.72 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.71 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.70 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.69 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.68 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.67 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.66 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.65 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.64 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.63 lib/fog/terremark/parsers/get_catalog_item.rb
fog-0.0.62 lib/fog/terremark/parsers/get_catalog_item.rb