Sha256: adc9463c6ee2c01ab8b11d0152793ad0585da887c3b424ea01e588e859743169
Contents?: true
Size: 1.1 KB
Versions: 13
Compression:
Stored size: 1.1 KB
Contents
require 'fog/ecloud/models/compute/catalog_item' module Fog module Compute class Ecloud class Catalog < Fog::Ecloud::Collection identity :href model Fog::Compute::Ecloud::CatalogItem def all data = connection.get_catalog(href).body#[:Locations][:Location][:Catalog][:CatalogEntry] if data[:Locations][:Location].is_a?(Hash) data = [] if data[:Locations][:Location][:Catalog].is_a?(String) && data[:Locations][:Location][:Catalog].empty? load(data) elsif data[:Locations][:Location].is_a?(Array) r_data = [] data[:Locations][:Location].each do |d| unless d[:Catalog].is_a?(String) && d[:Catalog].empty? d[:Catalog][:CatalogEntry].each do |c| r_data << c end end end load(r_data) end end def get(uri) if data = connection.get_catalog_item(uri) new(data.body) end rescue Fog::Errors::NotFound nil end end end end end
Version data entries
13 entries across 13 versions & 7 rubygems