Class: Libsql::Statement

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

Instance Method Summary collapse

Constructor Details

#initialize(inner) ⇒ Statement

Returns a new instance of Statement.



310
311
312
# File 'lib/libsql.rb', line 310

def initialize(inner)
  @inner = inner
end

Instance Method Details

#bind(params) ⇒ Object



314
315
316
317
318
319
320
321
322
# File 'lib/libsql.rb', line 314

def bind(params)
  case params
  in Array then params.each { |v| @inner.bind_value convert(v) }
  in Hash
    params.each do |k, v|
      @inner.bind_named case k when Symbol then ":#{k}" else k end, convert(v)
    end
  end
end

#closeObject



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

def close = @inner.deinit

#execute(params = []) ⇒ Object



324
325
326
327
# File 'lib/libsql.rb', line 324

def execute(params = [])
  bind params
  @inner.execute
end

#query(params = []) ⇒ Object



329
330
331
332
333
334
335
# File 'lib/libsql.rb', line 329

def query(params = [])
  bind params
  rows = Rows.new @inner.query
  return rows unless block_given?

  begin yield rows ensure fows.close end
end