module SQLRunner::Connection

Public Class Methods

call(connection_string) click to toggle source
# File lib/sql_runner/connection.rb, line 5
def self.call(connection_string)
  uri = URI.parse(connection_string)
  adapter = Adapters.find(uri.scheme)

  ConnectionPool.new(timeout: SQLRunner.timeout, size: SQLRunner.pool) do
    adapter.new(connection_string)
  end
end

Public Instance Methods

connect(connection_string) click to toggle source
# File lib/sql_runner/connection.rb, line 18
def connect(connection_string)
  @connection_pool = Connection.call(connection_string)
end
connection_pool() click to toggle source
# File lib/sql_runner/connection.rb, line 26
def connection_pool
  @connection_pool
end
disconnect() click to toggle source
# File lib/sql_runner/connection.rb, line 22
def disconnect
  connection_pool&.shutdown(&:disconnect) && (@connection_pool = nil)
end
with_connection(&block) click to toggle source
# File lib/sql_runner/connection.rb, line 14
def with_connection(&block)
  connection_pool.with(&block)
end