class Octoshark::ConnectionManager
Public Instance Methods
with_connection(config, connection_name: nil) { |connection| ... }
click to toggle source
# File lib/octoshark/connection_manager.rb, line 5 def with_connection(config, connection_name: nil, &block) connection = if ActiveRecord::ConnectionAdapters.respond_to?(:resolve) # Rails 7.2+ ActiveRecord::ConnectionAdapters.resolve(config[:adapter]).new(config) else connection_method = "#{config[:adapter]}_connection" ActiveRecord::Base.send(connection_method, config) end connection.connection_name = connection_name connection.database_name = config[:database] if config[:database] begin change_connection_reference(connection) do yield(connection) end ensure connection.disconnect! end end