module ConAir
Constants
- VERSION
Public Class Methods
hijack(config, klass = ActiveRecord::Base) { || ... }
click to toggle source
# File lib/con_air.rb, line 6 def self.hijack(config, klass = ActiveRecord::Base, &block) ar = ActiveRecord::Base handler = ar.handler_hijackings[ar.connection_id] if handler && handler.exist?(config, klass) handler.active = true else spec = ActiveRecord::Base::ConnectionSpecification.new(config, klass.connection_pool.spec.adapter_method) ar.handler_hijackings[ar.connection_id] = ConnectionHandler.new(klass, spec) end # Init the hijaking connection for class klass.establish_connection yield ensure ar.handler_hijackings[ar.connection_id].active = false end