Class: Fog::Compute::Ecloud::Catalog
- Inherits:
-
Ecloud::Collection
- Object
- Fog::Collection
- Ecloud::Collection
- Fog::Compute::Ecloud::Catalog
- Defined in:
- lib/fog/compute/ecloud/models/catalog.rb
Instance Method Summary collapse
Methods inherited from Ecloud::Collection
Instance Method Details
#all ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/fog/compute/ecloud/models/catalog.rb', line 11 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 |
#get(uri) ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/fog/compute/ecloud/models/catalog.rb', line 29 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 |