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_v2/tenants.rb
Ladislav Smola 00cd1524fa Fog::OpenStack::Collection base class for all openstack collections
Fog::OpenStack::Collection base class for all openstack collections,
also replacing load method with load_response method, which stores
the whole response on Collection object, in the case that we need
other medata e.g. for pagination.

Also removing :summary and :find_by_id aliases, since they are
defined in base method.
2015-07-15 13:30:56 +02:00

31 lines
935 B
Ruby

require 'fog/openstack/models/collection'
require 'fog/openstack/models/identity_v2/tenant'
module Fog
module Identity
class OpenStack
class V2
class Tenants < Fog::OpenStack::Collection
model Fog::Identity::OpenStack::V2::Tenant
def all(options = {})
load_response(service.list_tenants(options), '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::V2::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 V2
end # class OpenStack
end # module Compute
end # module Fog