Class: Libsql::Connection
- Inherits:
-
Object
- Object
- Libsql::Connection
- Defined in:
- lib/libsql.rb
Instance Method Summary collapse
- #changes ⇒ Object
- #execute(query, *params) ⇒ Object
- #execute_batch(batch_query) ⇒ Object
-
#initialize(url, auth_token) ⇒ Connection
constructor
A new instance of Connection.
- #query(query, *params) ⇒ Object
Constructor Details
#initialize(url, auth_token) ⇒ Connection
Returns a new instance of Connection.
23 24 25 26 27 |
# File 'lib/libsql.rb', line 23 def initialize(url, auth_token) @url = url @auth_token = auth_token @last_changes = 0 end |
Instance Method Details
#changes ⇒ Object
54 55 56 |
# File 'lib/libsql.rb', line 54 def changes @last_changes end |
#execute(query, *params) ⇒ Object
29 30 31 32 |
# File 'lib/libsql.rb', line 29 def execute(query, *params) params = params.flatten if params.is_a?(Array) execute_stmt(query, params) end |
#execute_batch(batch_query) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/libsql.rb', line 34 def execute_batch(batch_query) # Split the batch query into individual statements statements = batch_query.split(';').map(&:strip).reject(&:empty?) requests = statements.map do |stmt| { "type" => "execute", "stmt" => { "sql" => stmt } } end # Add close request at the end requests << { "type" => "close" } execute_pipeline(requests) end |
#query(query, *params) ⇒ Object
48 49 50 51 52 |
# File 'lib/libsql.rb', line 48 def query(query, *params) params = params.flatten if params.is_a?(Array) result = execute_stmt(query, params) QueryResult.new(result) end |