module DatabaseSlave::Connection::ClassMethods

Public Instance Methods

connection() click to toggle source
# File lib/database_slave/connection_handler.rb, line 70
def connection
  klass = self

  if Settings.using_slave && slave_connection_exists?
    slave_name = DatabaseSlave::RuntimeRegistry.current_slave_name
    klass      = DatabaseSlave.const_get(slave_name)
  end

  ActiveRecord::Base.connection_handler.retrieve_connection(klass)
end

Private Instance Methods

slave_connection_exists?() click to toggle source
# File lib/database_slave/connection_handler.rb, line 83
def slave_connection_exists?
  slave_name = DatabaseSlave::RuntimeRegistry.current_slave_name
  slave_name && ActiveRecord::Base.slave_connections.include?(slave_name)
end