1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

Merge pull request #2155 from rsalm/vcloud_director_catalog_items_fix

[vcloud_director] Fix listing catalog items when only a single item exists
This commit is contained in:
Nick Osborn 2013-09-25 08:28:39 -07:00
commit 40c4dc75d4
4 changed files with 7 additions and 3 deletions

View file

@ -173,6 +173,10 @@ module Fog
items = item_list.map {|item| get_by_id(item[:id])}
load(items)
end
def ensure_list(items)
items.is_a?(Hash) ? [items] : items
end
end
class Real

View file

@ -14,7 +14,7 @@ module Fog
def item_list
data = service.get_catalog(catalog.id).body
items = data[:CatalogItems][:CatalogItem].select { |link| link[:type] == "application/vnd.vmware.vcloud.catalogItem+xml" }
items = ensure_list(data[:CatalogItems][:CatalogItem]).select { |link| link[:type] == "application/vnd.vmware.vcloud.catalogItem+xml" }
items.each{|item| service.add_id_from_href!(item) }
items
end

View file

@ -19,7 +19,7 @@ module Fog
def item_list
data = service.get_organizations.body
orgs = data[:Org].is_a?(Hash) ? [data[:Org]] : data[:Org]
orgs = ensure_list(data[:Org])
orgs.each {|org| service.add_id_from_href!(org)}
orgs
end

View file

@ -21,7 +21,7 @@ module Fog
def item_list
data = service.get_tasks_list(organization.id).body
tasks = data[:Task].is_a?(Array) ? data[:Task] : [data[:Task]]
tasks = ensure_list(data[:Task])
tasks.each {|task| service.add_id_from_href!(task)}
end