Class: EasyMapper::Adapters::SqliteAdapter
- Inherits:
-
Object
- Object
- EasyMapper::Adapters::SqliteAdapter
- Defined in:
- lib/easy_mapper/adapters/sqlite_adapter.rb
Instance Method Summary collapse
- #connect ⇒ Object
- #execute(query) ⇒ Object
-
#initialize(host: nil, port: nil, database:, user: nil, password: nil) ⇒ SqliteAdapter
constructor
A new instance of SqliteAdapter.
- #next_id(table_name) ⇒ Object
- #sql_builder ⇒ Object
Constructor Details
#initialize(host: nil, port: nil, database:, user: nil, password: nil) ⇒ SqliteAdapter
Returns a new instance of SqliteAdapter.
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/easy_mapper/adapters/sqlite_adapter.rb', line 10 def initialize( host: nil, port: nil, database:, user: nil, password: nil ) @database = database end |
Instance Method Details
#connect ⇒ Object
21 22 23 24 |
# File 'lib/easy_mapper/adapters/sqlite_adapter.rb', line 21 def connect @db = SQLite3::Database.new @database @db.results_as_hash = true end |
#execute(query) ⇒ Object
26 27 28 29 |
# File 'lib/easy_mapper/adapters/sqlite_adapter.rb', line 26 def execute(query) Logger.logger.info("Executing query: #{query}") Results::SqliteResult.new @db.execute(query) end |
#next_id(table_name) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/easy_mapper/adapters/sqlite_adapter.rb', line 35 def next_id(table_name) query = sql_builder.select .column('seq') .from('sqlite_sequence') .where(name: table_name) .build execute(query).single_value + 1 end |
#sql_builder ⇒ Object
31 32 33 |
# File 'lib/easy_mapper/adapters/sqlite_adapter.rb', line 31 def sql_builder Sqlbuilder::Builders::PostgresBuilder.new end |