class Slaver::PoolsHandler
Public Instance Methods
for_config(klass, config_name)
click to toggle source
# File lib/slaver/pools_handler.rb, line 9 def for_config(klass, config_name) @klass = klass initialize_pool(config_name) unless pools[config_name] self end
pools()
click to toggle source
# File lib/slaver/pools_handler.rb, line 5 def pools @pools ||= {} end
Private Instance Methods
create_connection_pool(config_name)
click to toggle source
# File lib/slaver/pools_handler.rb, line 27 def create_connection_pool(config_name) config = ::ActiveRecord::Base.configurations[config_name] config.symbolize_keys! if ActiveRecord::VERSION::MAJOR < 4 spec = ActiveRecord::Base::ConnectionSpecification.new(config, "#{config[:adapter]}_connection") else spec = ActiveRecord::ConnectionAdapters::ConnectionSpecification.new(config, "#{config[:adapter]}_connection") end ActiveRecord::ConnectionAdapters::ConnectionPool.new(spec) end
initialize_pool(config_name)
click to toggle source
# File lib/slaver/pools_handler.rb, line 19 def initialize_pool(config_name) if config_name == Rails.env pools[config_name] = @klass.connection_pool_without_proxy else pools[config_name] = create_connection_pool(config_name) end end