Class: ODBCAdapter::DBMS

Inherits:
Object
  • Object
show all
Defined in:
lib/odbc_adapter/dbms.rb

Overview

Caches SQLGetInfo output

Constant Summary collapse

FIELDS =
[
  ODBC::SQL_DBMS_NAME,
  ODBC::SQL_DBMS_VER,
  ODBC::SQL_IDENTIFIER_CASE,
  ODBC::SQL_QUOTED_IDENTIFIER_CASE,
  ODBC::SQL_IDENTIFIER_QUOTE_CHAR,
  ODBC::SQL_MAX_IDENTIFIER_LEN,
  ODBC::SQL_MAX_TABLE_NAME_LEN,
  ODBC::SQL_USER_NAME,
  ODBC::SQL_DATABASE_NAME
]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection) ⇒ DBMS

Returns a new instance of DBMS.



18
19
20
# File 'lib/odbc_adapter/dbms.rb', line 18

def initialize(connection)
  @fields = Hash[FIELDS.map { |field| [field, connection.get_info(field)] }]
end

Instance Attribute Details

#fieldsObject (readonly)

Returns the value of attribute fields.



16
17
18
# File 'lib/odbc_adapter/dbms.rb', line 16

def fields
  @fields
end

Instance Method Details

#adapter_classObject



22
23
24
25
26
# File 'lib/odbc_adapter/dbms.rb', line 22

def adapter_class
  return adapter unless adapter.is_a?(Symbol)
  require "odbc_adapter/adapters/#{adapter.downcase}_odbc_adapter"
  Adapters.const_get(:"#{adapter}ODBCAdapter")
end

#field_for(field) ⇒ Object



28
29
30
# File 'lib/odbc_adapter/dbms.rb', line 28

def field_for(field)
  fields[field]
end