Module: RlsMultiTenant

Defined in:
lib/rls_multi_tenant.rb,
lib/rls_multi_tenant/railtie.rb,
lib/rls_multi_tenant/version.rb,
lib/rls_multi_tenant/rls_helper.rb,
lib/rls_multi_tenant/security_validator.rb,
lib/rls_multi_tenant/concerns/multi_tenant.rb,
lib/rls_multi_tenant/concerns/tenant_context.rb,
lib/rls_multi_tenant/generators/model/model_generator.rb,
lib/rls_multi_tenant/generators/setup/setup_generator.rb,
lib/rls_multi_tenant/generators/shared/template_helper.rb,
lib/rls_multi_tenant/generators/install/install_generator.rb,
lib/rls_multi_tenant/middleware/subdomain_tenant_selector.rb,
lib/rls_multi_tenant/generators/migration/migration_generator.rb

Defined Under Namespace

Modules: Concerns, Generators, Middleware, RlsHelper Classes: ConfigurationError, Error, Railtie, SecurityError, SecurityValidator

Constant Summary collapse

VERSION =
'0.4.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.enable_security_validationObject



41
42
43
# File 'lib/rls_multi_tenant.rb', line 41

def enable_security_validation
  @enable_security_validation.nil? || @enable_security_validation
end

.enable_subdomain_middlewareObject



45
46
47
# File 'lib/rls_multi_tenant.rb', line 45

def enable_subdomain_middleware
  @enable_subdomain_middleware.nil? ? false : @enable_subdomain_middleware
end

.excluded_subdomainsObject



53
54
55
# File 'lib/rls_multi_tenant.rb', line 53

def excluded_subdomains
  @excluded_subdomains ||= ['www']
end

.subdomain_fieldObject



49
50
51
# File 'lib/rls_multi_tenant.rb', line 49

def subdomain_field
  @subdomain_field ||= :subdomain
end

.tenant_class_nameObject



26
27
28
# File 'lib/rls_multi_tenant.rb', line 26

def tenant_class_name
  @tenant_class_name ||= 'Tenant'
end

.tenant_id_columnObject



37
38
39
# File 'lib/rls_multi_tenant.rb', line 37

def tenant_id_column
  @tenant_id_column ||= :tenant_id
end

Class Method Details

.configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



22
23
24
# File 'lib/rls_multi_tenant.rb', line 22

def configure
  yield self
end

.tenant_classObject



30
31
32
33
34
35
# File 'lib/rls_multi_tenant.rb', line 30

def tenant_class
  # Resolve on every call rather than memoizing: a memoized class object
  # goes stale across code reloads in development and after the tenant
  # class name is reconfigured, which can break associations.
  tenant_class_name.constantize
end