Sha256: 8740417847409880ec8863f88eaaf5633b963932cb14c7b739e930b0b0732340
Contents?: true
Size: 1.15 KB
Versions: 4
Compression:
Stored size: 1.15 KB
Contents
require File.expand_path("../catalog_item", __FILE__) module Fog module Compute class Ecloud class Catalog < Fog::Ecloud::Collection identity :href model Fog::Compute::Ecloud::CatalogItem def all data = service.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 = service.get_catalog_item(uri) new(data.body) end rescue ServiceError => e raise e unless e.status_code == 404 nil end end end end end
Version data entries
4 entries across 2 versions & 2 rubygems