Class: ActiveRecord::ConnectionAdapters::WasmSqlite3Adapter::ExternalInterface
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::WasmSqlite3Adapter::ExternalInterface
- Defined in:
- lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb
Instance Method Summary collapse
- #busy_handler_timeout=(_t) ⇒ Object
- #busy_timeout(_t) ⇒ Object
- #changes ⇒ Object
- #closed? ⇒ Boolean
- #commit ⇒ Object
- #execute(sql) ⇒ Object
-
#initialize ⇒ ExternalInterface
constructor
A new instance of ExternalInterface.
-
#prepare(sql) ⇒ Object
Called by SQLite3Adapter to execute SQL.
- #results_as_hash ⇒ Object
- #results_as_hash=(_v) ⇒ Object
- #rollback ⇒ Object
- #total_changes ⇒ Object
-
#transaction(mode = nil) ⇒ Object
Compatibility shims SQLite3Adapter calls on the connection object.
Constructor Details
#initialize ⇒ ExternalInterface
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 |
#changes ⇒ Object
56 |
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 56 def changes = @js.call(:changes).to_i |
#closed? ⇒ Boolean
61 |
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 61 def closed? = false |
#commit ⇒ Object
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_hash ⇒ Object
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 |
#rollback ⇒ Object
54 |
# File 'lib/generators/wasm_rails/install/templates/wasm_sqlite3_adapter.rb', line 54 def rollback = execute('rollback transaction') |
#total_changes ⇒ Object
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 |