Class: Sequel::SQLite::Database
- Inherits:
-
Database
- Object
- Database
- Sequel::SQLite::Database
- Defined in:
- lib/sequel/sqlite.rb
Instance Method Summary collapse
- #dataset(opts = nil) ⇒ Object
- #execute(sql) ⇒ Object
- #execute_insert(sql) ⇒ Object
-
#initialize(opts = {}) ⇒ Database
constructor
A new instance of Database.
- #result_set(sql, record_class, &block) ⇒ Object
- #single_value(sql) ⇒ Object
- #tables ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Database
Returns a new instance of Database.
13 14 15 16 17 18 19 20 |
# File 'lib/sequel/sqlite.rb', line 13 def initialize(opts = {}) super @pool.connection_proc = proc do db = SQLite3::Database.new(@opts[:database]) db.type_translation = true db end end |
Instance Method Details
#dataset(opts = nil) ⇒ Object
22 23 24 |
# File 'lib/sequel/sqlite.rb', line 22 def dataset(opts = nil) SQLite::Dataset.new(self, opts) end |
#execute(sql) ⇒ Object
30 31 32 |
# File 'lib/sequel/sqlite.rb', line 30 def execute(sql) @pool.hold {|conn| conn.execute(sql)} end |
#execute_insert(sql) ⇒ Object
34 35 36 |
# File 'lib/sequel/sqlite.rb', line 34 def execute_insert(sql) @pool.hold {|conn| conn.execute(sql); conn.last_insert_row_id} end |
#result_set(sql, record_class, &block) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/sequel/sqlite.rb', line 42 def result_set(sql, record_class, &block) @pool.hold do |conn| conn.query(sql) do |result| columns = result.columns column_count = columns.size result.each do |values| row = {} column_count.times {|i| row[columns[i].to_sym] = values[i]} block.call(record_class ? record_class.new(row) : row) end end end end |
#single_value(sql) ⇒ Object
38 39 40 |
# File 'lib/sequel/sqlite.rb', line 38 def single_value(sql) @pool.hold {|conn| conn.get_first_value(sql)} end |
#tables ⇒ Object
26 27 28 |
# File 'lib/sequel/sqlite.rb', line 26 def tables # return a list of tables end |