Class: Kaal::Definition::DatabaseEngine
- Inherits:
-
Registry
- Object
- Registry
- Kaal::Definition::DatabaseEngine
show all
- Defined in:
- lib/kaal/definition/database_engine.rb
Overview
ActiveRecord-backed definition registry persisted in kaal_definitions.
Instance Method Summary
collapse
Methods inherited from Registry
#disable_definition, #enable_definition
Constructor Details
Returns a new instance of DatabaseEngine.
14
15
16
17
|
# File 'lib/kaal/definition/database_engine.rb', line 14
def initialize
super
@definition_model = ::Kaal::CronDefinition
end
|
Instance Method Details
#all_definitions ⇒ Object
41
42
43
|
# File 'lib/kaal/definition/database_engine.rb', line 41
def all_definitions
@definition_model.order(:key).map(&:to_definition_hash)
end
|
#enabled_definitions ⇒ Object
45
46
47
|
# File 'lib/kaal/definition/database_engine.rb', line 45
def enabled_definitions
@definition_model.where(enabled: true).order(:key).map(&:to_definition_hash)
end
|
#find_definition(key) ⇒ Object
36
37
38
39
|
# File 'lib/kaal/definition/database_engine.rb', line 36
def find_definition(key)
record = @definition_model.find_by(key: key)
record&.to_definition_hash
end
|
#remove_definition(key) ⇒ Object
29
30
31
32
33
34
|
# File 'lib/kaal/definition/database_engine.rb', line 29
def remove_definition(key)
record = @definition_model.find_by(key: key)
return nil unless record
record.destroy_and_return_definition_hash
end
|
#upsert_definition(key:, cron:, enabled: true, source: 'code', metadata: {}) ⇒ Object
19
20
21
22
23
24
25
26
27
|
# File 'lib/kaal/definition/database_engine.rb', line 19
def upsert_definition(key:, cron:, enabled: true, source: 'code', metadata: {})
@definition_model.upsert_definition!(
key: key,
cron: cron,
enabled: enabled,
source: source,
metadata: metadata
).to_definition_hash
end
|