Module: DbCharmer::ConnectionSwitch::ClassMethods
- Defined in:
- lib/db_charmer/connection_switch.rb
Instance Method Summary collapse
- #coerce_to_connection_proxy(conn, should_exist = true) ⇒ Object
- #switch_connection_to(conn, require_config_to_exist = true) ⇒ Object
Instance Method Details
#coerce_to_connection_proxy(conn, should_exist = true) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/db_charmer/connection_switch.rb', line 4 def coerce_to_connection_proxy(conn, should_exist = true) return nil if conn.nil? || !DbCharmer.switch_connections? if conn.kind_of?(Symbol) || conn.kind_of?(String) return DbCharmer::ConnectionFactory.connect(conn, should_exist) end if conn.respond_to?(:db_charmer_connection_proxy) return conn.db_charmer_connection_proxy end if conn.kind_of?(ActiveRecord::ConnectionAdapters::AbstractAdapter) return conn end raise "Unsupported connection type: #{conn.class}" end |
#switch_connection_to(conn, require_config_to_exist = true) ⇒ Object
22 23 24 25 26 |
# File 'lib/db_charmer/connection_switch.rb', line 22 def switch_connection_to(conn, require_config_to_exist = true) # puts "DEBUG: Assigning connection proxy for #{self}" self.db_charmer_connection_proxy = coerce_to_connection_proxy(conn, require_config_to_exist) self.hijack_connection! end |