lib/octoshark/connection_manager.rb in octoshark-0.1.0 vs lib/octoshark/connection_manager.rb in octoshark-0.1.1

- old
+ new

@@ -42,10 +42,15 @@ connection_pool.disconnect! end end end + def use_database(name, database_name, &block) + connection_pool = find_connection_pool(name) + with_connection_pool(name, connection_pool, database_name, &block) + end + def without_connection(&block) change_connection_reference(nil) do yield end end @@ -95,12 +100,16 @@ def create_connection_pool(config) spec = spec_class.new(config, "#{config[:adapter]}_connection") ActiveRecord::ConnectionAdapters::ConnectionPool.new(spec) end - def with_connection_pool(name, connection_pool, &block) + def with_connection_pool(name, connection_pool, database_name = nil, &block) connection_pool.with_connection do |connection| connection.connection_name = name + if database_name + connection.database_name = database_name + connection.execute("use #{database_name}") + end change_connection_reference(connection) do yield(connection) end end