module SlavePools
Constants
- VERSION
Public Class Methods
config()
click to toggle source
# File lib/slave_pools.rb, line 16 def config @config ||= SlavePools::Config.new end
current()
click to toggle source
# File lib/slave_pools.rb, line 35 def current proxy.current end
log(level, message)
click to toggle source
# File lib/slave_pools.rb, line 55 def log(level, message) logger.send(level, "[SlavePools] #{message}") end
logger()
click to toggle source
# File lib/slave_pools.rb, line 59 def logger ActiveRecord::Base.logger end
next_slave!()
click to toggle source
# File lib/slave_pools.rb, line 39 def next_slave! proxy.next_slave! end
pools()
click to toggle source
# File lib/slave_pools.rb, line 51 def pools Thread.current[:slave_pools] ||= SlavePools::Pools.new end
proxy()
click to toggle source
# File lib/slave_pools.rb, line 28 def proxy Thread.current[:slave_pools_proxy] ||= SlavePools::ConnectionProxy.new( ActiveRecord::Base, SlavePools.pools ) end
setup!()
click to toggle source
# File lib/slave_pools.rb, line 20 def setup! ConnectionProxy.generate_safe_delegations ActiveRecord::Base.send(:extend, SlavePools::Hijack) log :info, "Proxy loaded with: #{pools.keys.join(', ')}" end
with_master() { || ... }
click to toggle source
# File lib/slave_pools.rb, line 47 def with_master proxy.with_master{ yield } end
with_pool(*a) { || ... }
click to toggle source
# File lib/slave_pools.rb, line 43 def with_pool(*a) proxy.with_pool(*a){ yield } end