Class: Textus::Infra::Database
- Inherits:
-
Object
- Object
- Textus::Infra::Database
- Defined in:
- lib/textus/infra/database.rb
Instance Method Summary collapse
- #close ⇒ Object
- #connection ⇒ Object
-
#initialize(layout:) ⇒ Database
constructor
A new instance of Database.
- #setup! ⇒ Object
- #transaction ⇒ Object
Constructor Details
#initialize(layout:) ⇒ Database
Returns a new instance of Database.
7 8 9 10 |
# File 'lib/textus/infra/database.rb', line 7 def initialize(layout:) @layout = layout @db = nil end |
Instance Method Details
#close ⇒ Object
25 |
# File 'lib/textus/infra/database.rb', line 25 def close = @db.disconnect |
#connection ⇒ Object
12 |
# File 'lib/textus/infra/database.rb', line 12 def connection = @db |
#setup! ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/textus/infra/database.rb', line 14 def setup! path = @layout.db_path FileUtils.mkdir_p(File.dirname(path)) @db = Sequel.sqlite(path) @db.run("PRAGMA journal_mode=WAL") @db.run("PRAGMA foreign_keys=ON") create_tables self end |
#transaction ⇒ Object
24 |
# File 'lib/textus/infra/database.rb', line 24 def transaction(&) = @db.transaction(&) |