Method: Libsql::Database#initialize

Defined in:
lib/libsql.rb

#initialize(options = {}) ⇒ Database

Returns a new instance of Database.



545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
# File 'lib/libsql.rb', line 545

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