Class: SQLite3::Database
Instance Method Summary collapse
- #ask(sql, *args) ⇒ Object
-
#exec(sql, *args) ⇒ Object
execute multiple SQL statements at once.
- #print(sql, *args) ⇒ Object
- #register(name, query) ⇒ Object
-
#registry ⇒ Object
– query registry.
- #run(sql, *args) ⇒ Object
-
#select(sql, *args) ⇒ Object
run a select like query.
Instance Method Details
#ask(sql, *args) ⇒ Object
52 53 54 |
# File 'lib/sqlite3/database_extension.rb', line 52 def ask(sql, *args) query(sql).ask *prepare_arguments(args) end |
#exec(sql, *args) ⇒ Object
execute multiple SQL statements at once.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/sqlite3/database_extension.rb', line 3 def exec(sql, *args) args = prepare_arguments(args) while sql =~ /\S/ do statement = prepare(sql) sql = statement.remainder if statement.active? statement.execute!(*args) end end rescue STDERR.puts "#{sql}: #{$!}" raise end |
#print(sql, *args) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/sqlite3/database_extension.rb', line 61 def print(sql, *args) require "pp" results = select sql, *args log_sql = sql.gsub(/\n/, " ").gsub(/\s+/, " ") puts "=" * log_sql.length puts log_sql puts "-" * log_sql.length results.each do |result| pp result.to_a end puts "=" * log_sql.length end |
#register(name, query) ⇒ Object
82 83 84 |
# File 'lib/sqlite3/database_extension.rb', line 82 def register(name, query) registry[name] = query end |
#registry ⇒ Object
– query registry
78 79 80 |
# File 'lib/sqlite3/database_extension.rb', line 78 def registry @registry ||= {} end |
#run(sql, *args) ⇒ Object
48 49 50 |
# File 'lib/sqlite3/database_extension.rb', line 48 def run(sql, *args) query(sql).run *prepare_arguments(args) end |
#select(sql, *args) ⇒ Object
run a select like query. Returns an array of records.
57 58 59 |
# File 'lib/sqlite3/database_extension.rb', line 57 def select(sql, *args) query(sql).select *prepare_arguments(args) end |