Module: Multidb

Defined in:
lib/multidb.rb,
lib/multidb/version.rb,
lib/multidb/balancer.rb,
lib/multidb/candidate.rb,
lib/multidb/configuration.rb,
lib/multidb/log_subscriber.rb,
lib/multidb/model_extensions.rb

Defined Under Namespace

Modules: Connection, LogSubscriberExtension, ModelExtensions Classes: Balancer, Candidate, Configuration, NotInitializedError

Constant Summary collapse

VERSION =
'0.8.1'

Class Method Summary collapse

Class Method Details

.balancerObject



32
33
34
# File 'lib/multidb.rb', line 32

def self.balancer
  @balancer || raise(NotInitializedError, 'Balancer not initialized. You need to run Multidb.init first')
end

.init(config) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/multidb.rb', line 24

def self.init(config)
  activerecord_config = config.dup.with_indifferent_access
  default_adapter     = activerecord_config
  configuration_hash  = activerecord_config.delete(:multidb)

  @balancer = Balancer.new(Configuration.new(default_adapter, configuration_hash || {}))
end

.reset!Object



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

def self.reset!
  @balancer = nil
  Thread.current[:multidb] = nil
end