Method: ActiveRecord::SimpleSlave#simple_slave_configuration

Defined in:
lib/activerecord/simple_slave.rb

#simple_slave_configurationObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/activerecord/simple_slave.rb', line 9

def simple_slave_configuration
  @simple_slave_configuration ||= connection_config.dup.tap do |config|
    if simple_slave_url.nil?
      Rails.logger.warn 'simple slave disabled (no configuration provided)'
      next
    end

    uri = URI.parse(simple_slave_url)
    config[:host] = uri.host
    config[:port] = uri.port unless uri.port.nil?
    config[:username] = uri.user unless uri.user.nil?
    config[:password] = uri.password unless uri.password.nil?
    if !uri.path.nil? && uri.path.length > 1
      config[:database] = uri.path[1..-1]
    end
    config.delete(:simple_slave_url)
  end
end