Class: ActiveRecord::ConnectionAdapters::WasmSqlite3Adapter::ExternalInterface

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb

Instance Method Summary collapse

Constructor Details

#initializeExternalInterface

Returns a new instance of ExternalInterface.



24
25
26
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 24

def initialize
  @js = JS.global[:sqlite4rails]
end

Instance Method Details

#busy_handler_timeout=(_t) ⇒ Object



60
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 60

def busy_handler_timeout=(_t); end

#busy_timeout(_t) ⇒ Object



59
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 59

def busy_timeout(_t) = nil

#changesObject



56
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 56

def changes       = @js.call(:changes).to_i

#closed?Boolean

Returns:

  • (Boolean)


61
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 61

def closed? = false

#commitObject



53
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 53

def commit   = execute('commit transaction')

#execute(sql) ⇒ Object



33
34
35
36
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 33

def execute(sql)
  stmt = prepare(sql)
  stmt.result
end

#prepare(sql) ⇒ Object

Called by SQLite3Adapter to execute SQL. Returns a Statement-like object.



29
30
31
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 29

def prepare(sql)
  Statement.new(@js, sql)
end

#results_as_hashObject



62
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 62

def results_as_hash = true

#results_as_hash=(_v) ⇒ Object



63
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 63

def results_as_hash=(_v); end

#rollbackObject



54
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 54

def rollback = execute('rollback transaction')

#total_changesObject



57
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 57

def total_changes = @js.call(:changes).to_i

#transaction(mode = nil) ⇒ Object

Compatibility shims SQLite3Adapter calls on the connection object.



39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 39

def transaction(mode = nil)
  mode = nil if mode == :deferred
  execute("begin #{mode} transaction".strip)
  if block_given?
    begin
      yield self
      commit
    rescue
      rollback
      raise
    end
  end
end