Class: GQLite::Connection
- Inherits:
-
Object
- Object
- GQLite::Connection
- Defined in:
- lib/gqlite.rb
Instance Attribute Summary collapse
-
#dbhandle ⇒ Object
readonly
Returns the value of attribute dbhandle.
Instance Method Summary collapse
- #execute_oc_query(query, bindings: nil) ⇒ Object
-
#initialize(sqlite_filename: nil) ⇒ Connection
constructor
A new instance of Connection.
Constructor Details
#initialize(sqlite_filename: nil) ⇒ Connection
Returns a new instance of Connection.
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/gqlite.rb', line 47 def initialize(sqlite_filename: nil) if sqlite_filename != nil @dbhandle = CApi.call_function :gqlite_connection_create_from_sqlite_file, sqlite_filename, nil else raise Error.new "No connection backend was selected." end ObjectSpace.define_finalizer @dbhandle, proc {|id| CApi.call_function :gqlite_connection_destroy, @dbhandle } end |
Instance Attribute Details
#dbhandle ⇒ Object (readonly)
Returns the value of attribute dbhandle.
46 47 48 |
# File 'lib/gqlite.rb', line 46 def dbhandle @dbhandle end |
Instance Method Details
#execute_oc_query(query, bindings: nil) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/gqlite.rb', line 57 def execute_oc_query(query, bindings: nil) b = nil if bindings b = CApi.call_function :gqlite_value_from_json, bindings.to_json end ret = CApi.call_function :gqlite_connection_oc_query, @dbhandle, query, b if b CApi.call_function :gqlite_value_destroy, b end if CApi.call_function(:gqlite_value_is_valid, ret) val = JSON.parse(CApi.call_function :gqlite_value_to_json, ret) else val = nil end CApi.call_function :gqlite_value_destroy, ret return val end |