Class: HA
- Inherits:
-
Object
- Object
- HA
- Includes:
- Singleton
- Defined in:
- lib/active_record/connection_adapters/hanaclient_adapter.rb
Overview
Singleton class to hold a valid instance of the HANACLIENTInterface across all connections
Constant Summary collapse
- @@dbcapi_path =
nil
Instance Attribute Summary collapse
-
#api ⇒ Object
Returns the value of attribute api.
Class Method Summary collapse
- .dbcapi_path=(path) ⇒ Object
-
.finalize(api) ⇒ Object
Returns a proc that is run when this object is destroyed.
Instance Method Summary collapse
-
#initialize ⇒ HA
constructor
A new instance of HA.
Constructor Details
#initialize ⇒ HA
Returns a new instance of HA.
28 29 30 31 32 33 |
# File 'lib/active_record/connection_adapters/hanaclient_adapter.rb', line 28 def initialize @api = HANACLIENT::HANACLIENTInterface.new() HANACLIENT::API.hanaclient_initialize_interface(@api, @@dbcapi_path) raise LoadError, "Could not initialize HANA client library" if @api.hanaclient_init() == 0 ObjectSpace.define_finalizer(self, HA.finalize(@api)) end |
Instance Attribute Details
#api ⇒ Object
Returns the value of attribute api.
21 22 23 |
# File 'lib/active_record/connection_adapters/hanaclient_adapter.rb', line 21 def api @api end |
Class Method Details
.dbcapi_path=(path) ⇒ Object
24 25 26 |
# File 'lib/active_record/connection_adapters/hanaclient_adapter.rb', line 24 def self.dbcapi_path= path @@dbcapi_path = path end |
.finalize(api) ⇒ Object
Returns a proc that is run when this object is destroyed
36 37 38 39 40 41 |
# File 'lib/active_record/connection_adapters/hanaclient_adapter.rb', line 36 def self.finalize(api) proc{ api.hanaclient_fini() HANACLIENT::API.hanaclient_finalize_interface( api ) } end |