class Multidb::Candidate
Attributes
name[R]
Public Class Methods
new(name, target)
click to toggle source
# File lib/multidb/candidate.rb, line 5 def initialize(name, target) @name = name case target when Hash @connection_handler = ActiveRecord::ConnectionAdapters::ConnectionHandler.new @connection_handler.establish_connection(target.merge(name: 'primary')) when ActiveRecord::ConnectionAdapters::ConnectionHandler @connection_handler = target else raise ArgumentError, 'Connection handler not passed to target' end end
Public Instance Methods
connection(&block)
click to toggle source
# File lib/multidb/candidate.rb, line 19 def connection(&block) if block_given? @connection_handler.retrieve_connection_pool('primary').with_connection(&block) else @connection_handler.retrieve_connection('primary') end end
disconnect!()
click to toggle source
# File lib/multidb/candidate.rb, line 27 def disconnect! @connection_handler.clear_all_connections! end