Class: Libsql::Database

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

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Database

Returns a new instance of Database.



408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
# File 'lib/libsql.rb', line 408

def initialize(options = {})
  desc = CLibsql::DatabaseDesc.new

  i[path url auth_token encryption_key].each do |sym|
    desc[sym] = FFI::MemoryPointer.from_string options[sym] unless options[sym].nil?
  end

  desc[:sync_interval] = options[:sync_interval] unless options[:sync_interval].nil?
  desc[:disable_read_your_writes] = !options[:read_your_writes] unless options[:read_your_writes].nil?

  @inner = CLibsql::Database.init desc

  return unless block_given?

  begin yield self ensure close end
end

Instance Method Details

#closeObject



437
# File 'lib/libsql.rb', line 437

def close = @inner.deinit

#connectObject



429
430
431
432
433
434
435
# File 'lib/libsql.rb', line 429

def connect
  conn = Connection.new @inner.connect

  return unless block_given?

  begin yield conn ensure conn.close end
end

#syncObject



425
426
427
# File 'lib/libsql.rb', line 425

def sync
  @inner.sync
end