Class: Ekylibre::MultiTenancy::TenantRepository
- Inherits:
-
Object
- Object
- Ekylibre::MultiTenancy::TenantRepository
- Defined in:
- lib/ekylibre/multi_tenancy/tenant_repository.rb
Instance Method Summary collapse
- #delete(name) ⇒ Object
- #get(name) ⇒ Tenant?
- #has?(name) ⇒ Boolean
-
#initialize(private_root:, tenants_file:) ⇒ TenantRepository
constructor
A new instance of TenantRepository.
- #list ⇒ Array<String>
Constructor Details
#initialize(private_root:, tenants_file:) ⇒ TenantRepository
Returns a new instance of TenantRepository.
14 15 16 17 18 |
# File 'lib/ekylibre/multi_tenancy/tenant_repository.rb', line 14 def initialize(private_root:, tenants_file:) @private_root = private_root @tenants_file = tenants_file @write_mutex = Mutex.new end |
Instance Method Details
#delete(name) ⇒ Object
30 31 32 33 34 |
# File 'lib/ekylibre/multi_tenancy/tenant_repository.rb', line 30 def delete(name) tenants.delete(name) write end |
#get(name) ⇒ Tenant?
22 23 24 25 26 27 28 |
# File 'lib/ekylibre/multi_tenancy/tenant_repository.rb', line 22 def get(name) if has?(name) Tenant.new(name: name, private_directory: private_root.join(name)) else nil end end |
#has?(name) ⇒ Boolean
38 39 40 |
# File 'lib/ekylibre/multi_tenancy/tenant_repository.rb', line 38 def has?(name) list.include?(name) end |
#list ⇒ Array<String>
43 44 45 |
# File 'lib/ekylibre/multi_tenancy/tenant_repository.rb', line 43 def list tenants.fetch(::Rails.env.to_s, []) end |