Class: Ekylibre::MultiTenancy::MultiTenancyPlugin

Inherits:
PluginSystem::Plugin
  • Object
show all
Defined in:
lib/ekylibre/multi_tenancy/multi_tenancy_plugin.rb

Overview

Plugin adding multi-tenancy to Ekylibre

Constant Summary collapse

APARTMENT =
make_parameter('apartment')
PRIVATE_ROOT =
make_parameter('private_root')
TENANTS_FILE =
make_parameter('tenants_file')

Instance Method Summary collapse

Constructor Details

#initialize(app:, engine:) ⇒ MultiTenancyPlugin

Returns a new instance of MultiTenancyPlugin.



21
22
23
24
25
# File 'lib/ekylibre/multi_tenancy/multi_tenancy_plugin.rb', line 21

def initialize(app:, engine:)
  super(engine: engine)

  @app = app
end

Instance Method Details

#boot(container) ⇒ Object

Parameters:

  • container (Corindon::DependencyInjection::Container)


28
29
30
31
32
33
34
35
36
# File 'lib/ekylibre/multi_tenancy/multi_tenancy_plugin.rb', line 28

def boot(container)
  container.set_parameter(APARTMENT.key, ::Apartment::Tenant)
  container.set_parameter(PRIVATE_ROOT.key, app.root.join('private'))
  container.set_parameter(TENANTS_FILE.key, app.root.join('config', 'tenants.yml'))

  container.add_definition(TenantRepository)
  container.add_definition(TenantStack)
  container.add_definition(TenantSwitcher)
end

#versionObject



38
39
40
# File 'lib/ekylibre/multi_tenancy/multi_tenancy_plugin.rb', line 38

def version
  MultiTenancy::VERSION
end