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/openstack/models/identity/tenants.rb
2013-01-07 21:01:18 +00:00

29 lines
800 B
Ruby

require 'fog/core/collection'
require 'fog/openstack/models/identity/tenant'
module Fog
module Identity
class OpenStack
class Tenants < Fog::Collection
model Fog::Identity::OpenStack::Tenant
def all
load(service.list_tenants.body['tenants'])
end
def find_by_id(id)
cached_tenant = self.find {|tenant| tenant.id == id}
return cached_tenant if cached_tenant
tenant_hash = service.get_tenant(id).body['tenant']
Fog::Identity::OpenStack::Tenant.new(
tenant_hash.merge(:service => service))
end
def destroy(id)
tenant = self.find_by_id(id)
tenant.destroy
end
end # class Tenants
end # class OpenStack
end # module Compute
end # module Fog