Module: Desiru::Persistence
- Defined in:
- lib/desiru/persistence.rb,
lib/desiru/persistence/setup.rb,
lib/desiru/persistence/models.rb,
lib/desiru/persistence/database.rb,
lib/desiru/persistence/repository.rb,
lib/desiru/persistence/models/job_result.rb,
lib/desiru/persistence/models/api_request.rb,
lib/desiru/persistence/models/module_execution.rb,
lib/desiru/persistence/models/training_example.rb,
lib/desiru/persistence/models/optimization_result.rb,
lib/desiru/persistence/repositories/base_repository.rb,
lib/desiru/persistence/repositories/job_result_repository.rb,
lib/desiru/persistence/repositories/api_request_repository.rb,
lib/desiru/persistence/repositories/module_execution_repository.rb,
lib/desiru/persistence/repositories/training_example_repository.rb,
lib/desiru/persistence/repositories/optimization_result_repository.rb
Overview
Database persistence layer for Desiru
Defined Under Namespace
Modules: Database, Models, Repositories, Repository, Setup
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.database_url ⇒ Object
13
14
15
|
# File 'lib/desiru/persistence.rb', line 13
def database_url
@database_url ||= ENV['DESIRU_DATABASE_URL'] || 'sqlite://desiru.db'
end
|
Class Method Details
.[](name) ⇒ Object
38
39
40
|
# File 'lib/desiru/persistence.rb', line 38
def [](name)
repositories[name] || raise("Repository #{name} not found")
end
|
.connect! ⇒ Object
17
18
19
|
# File 'lib/desiru/persistence.rb', line 17
def connect!
Database.connect(database_url)
end
|
.disconnect! ⇒ Object
21
22
23
|
# File 'lib/desiru/persistence.rb', line 21
def disconnect!
Database.disconnect
end
|
.enabled? ⇒ Boolean
42
43
44
45
46
|
# File 'lib/desiru/persistence.rb', line 42
def enabled?
!Database.connection.nil?
rescue StandardError
false
end
|
.migrate! ⇒ Object
25
26
27
28
|
# File 'lib/desiru/persistence.rb', line 25
def migrate!
Database.migrate!
Repository.setup!
end
|
.register_repository(name, repository) ⇒ Object
34
35
36
|
# File 'lib/desiru/persistence.rb', line 34
def register_repository(name, repository)
repositories[name] = repository
end
|
.repositories ⇒ Object
30
31
32
|
# File 'lib/desiru/persistence.rb', line 30
def repositories
@repositories ||= {}
end
|