Module: ActiveRecord::Tenanted

Defined in:
lib/active_record/tenanted.rb,
lib/active_record/tenanted/job.rb,
lib/active_record/tenanted/lru.rb,
lib/active_record/tenanted/base.rb,
lib/active_record/tenanted/mutex.rb,
lib/active_record/tenanted/mailer.rb,
lib/active_record/tenanted/tenant.rb,
lib/active_record/tenanted/console.rb,
lib/active_record/tenanted/patches.rb,
lib/active_record/tenanted/railtie.rb,
lib/active_record/tenanted/storage.rb,
lib/active_record/tenanted/testing.rb,
lib/active_record/tenanted/version.rb,
lib/active_record/tenanted/relation.rb,
lib/active_record/tenanted/global_id.rb,
lib/active_record/tenanted/subtenant.rb,
lib/active_record/tenanted/database_tasks.rb,
lib/active_record/tenanted/tenant_selector.rb,
lib/active_record/tenanted/cable_connection.rb,
lib/active_record/tenanted/database_adapter.rb,
lib/active_record/tenanted/connection_adapter.rb,
lib/active_record/tenanted/database_configurations.rb,
lib/active_record/tenanted/database_adapters/sqlite.rb,
lib/active_record/tenanted/untenanted_connection_pool.rb,
lib/active_record/tenanted/database_configurations/base_config.rb,
lib/active_record/tenanted/database_configurations/tenant_config.rb

Defined Under Namespace

Modules: Base, CableConnection, ConnectionAdapter, Console, DatabaseAdapter, DatabaseAdapters, DatabaseConfigurations, GlobalId, Job, Mailer, Mutex, Patches, Relation, Storage, Subtenant, Tenant, TenantCommon, Testing Classes: BadTenantNameError, DatabaseTasks, Error, IntegrationNotConfiguredError, LRU, MissingTenantError, NoTenantError, Railtie, TenantConfigurationError, TenantDoesNotExistError, TenantExistsError, TenantSelector, UnsupportedDatabaseError, UntenantedConnectionPool, WrongTenantError

Constant Summary collapse

Lru =
LRU
VERSION =
"0.7.0"

Class Method Summary collapse

Class Method Details

.base_configs(configurations = ActiveRecord::Base.configurations) ⇒ Object

Return an Array of the tenanted database configurations.



52
53
54
55
56
# File 'lib/active_record/tenanted.rb', line 52

def self.base_configs(configurations = ActiveRecord::Base.configurations)
  configurations
    .configs_for(env_name: ActiveRecord::Tasks::DatabaseTasks.env, include_hidden: true)
    .select { |c| c.configuration_hash[:tenanted] }
end

.connection_classObject

Return the constantized connection class configured in ‘config.active_record_tenanted.connection_class`, or nil if none is configured.



46
47
48
49
# File 'lib/active_record/tenanted.rb', line 46

def self.connection_class
  # TODO: cache this / speed this up
  Rails.application.config.active_record_tenanted.connection_class&.constantize
end