Sha256: 4a45477d7075fa65af25ad90432d1af72246fdbf8b3908e0c5beea36cef0d5a7

Contents?: true

Size: 1.09 KB

Versions: 19

Compression:

Stored size: 1.09 KB

Contents

module Fog
  module Parsers
    module Terremark

      class GetCatalogItem < Fog::Parsers::Base

        def reset
          @property_key
          @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)
                catalog_item[attributes.first.first] = attributes.shift.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

19 entries across 19 versions & 1 rubygems

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