class Db2Session::DbClient

Public Class Methods

new(config, userid, password) click to toggle source
# File lib/db2_session/db_client.rb, line 5
def initialize(config, userid, password)
  @dsn = config[:dsn]
  @idle_time_limit = config[:idle] || 5
  define_authenticated_client(userid, password)
  @client = authenticated_client
  @last_transaction = Time.now
end

Public Instance Methods

define_authenticated_client(userid, password) click to toggle source
# File lib/db2_session/db_client.rb, line 13
def define_authenticated_client(userid, password)
  singleton_class.define_method(:authenticated_client) do
    new_client(userid, password)
  end
end
new_client(userid, password) click to toggle source
# File lib/db2_session/db_client.rb, line 19
def new_client(userid, password)
  ODBC.connect(dsn, userid, password).tap do |odbc_conn|
    odbc_conn.use_time = true
    odbc_conn.use_utc = is_utc?
  end
rescue ::ODBC::Error => e
  raise Db2Query::ConnectionError.new(e.message)
end
reconnect!() click to toggle source
# File lib/db2_session/db_client.rb, line 28
def reconnect!
  disconnect!
  @client = authenticated_client
end