Sha256: 9da2147c301001356cf8eabc8ff0c8c3b989e0bfb69ee4c01a0bcfb1a23dc34d
Contents?: true
Size: 1.31 KB
Versions: 15
Compression:
Stored size: 1.31 KB
Contents
module Fog module Parsers module Terremark module Shared class GetCatalog < Fog::Parsers::Base def reset @response = { 'CatalogItems' => [] } end def start_element(name, attributes) super case name when 'CatalogItem' catalog_item = {} attributes.each do |attrib| i = 0 while i < attrib.size catalog_item[attrib[i]] = attrib[i+1] i += 2 end catalog_item["id"] = catalog_item["href"].split('/').last end @response['CatalogItems'] << catalog_item when 'Catalog' catalog = {} until attributes.empty? if attributes.first.is_a?(Array) attribute = attributes.shift catalog[attribute.first] = attribute.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 end
Version data entries
15 entries across 15 versions & 7 rubygems