1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/vcloud/models/compute/catalogs.rb
2011-11-29 11:37:17 +01:00

40 lines
970 B
Ruby

require 'fog/vcloud/models/compute/catalog'
module Fog
module Vcloud
class Compute
class Catalogs < Fog::Vcloud::Collection
model Fog::Vcloud::Compute::Catalog
attribute :organization_uri
def all
org_uri = self.organization_uri || connection.default_organization_uri
data = connection.get_organization(org_uri).body[:Link].select { |link| link[:type] == "application/vnd.vmware.vcloud.catalog+xml" }
load(data)
end
def get(uri)
if data = connection.get_catalog(uri)
new(data.body)
end
rescue Fog::Errors::NotFound
nil
end
def item_by_name(name)
res = nil
items = all.collect { |catalog| catalog.catalog_items }
items.each do |i|
i.collect do |ii|
res = ii if ii.name == name
end
end
res
end
end
end
end
end