Module: MasterSlave::Core::ClassMethods
- Defined in:
- lib/master_slave/core.rb
Instance Method Summary collapse
Instance Method Details
#connection ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/master_slave/core.rb', line 29 def connection slave_block = MasterSlave::RuntimeRegistry.slave_block current_slave_name = MasterSlave::RuntimeRegistry.current_slave_name if slave_block && current_slave_name pool_name = MasterSlave::ConnectionHandler.connection_pool_name(current_slave_name) ar_proxy = MasterSlave::ConnectionHandler::ArProxy.new(pool_name) ActiveRecord::Base.connection_handler.retrieve_connection(ar_proxy) else super end end |
#slave(&block) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/master_slave/core.rb', line 12 def slave(&block) slave_name = select_slave_connection_name if slave_name.blank? block.call else with_slave(slave_name) do block.call end end end |
#using(slave_name, &block) ⇒ Object
23 24 25 26 27 |
# File 'lib/master_slave/core.rb', line 23 def using(slave_name, &block) with_slave(slave_name) do block.call end end |