Module: Legion::Data
- Defined in:
- lib/legion/data.rb,
lib/legion/data/local.rb,
lib/legion/data/model.rb,
lib/legion/data/spool.rb,
lib/legion/data/helper.rb,
lib/legion/data/vector.rb,
lib/legion/data/version.rb,
lib/legion/data/archival.rb,
lib/legion/data/archiver.rb,
lib/legion/data/settings.rb,
lib/legion/data/migration.rb,
lib/legion/data/retention.rb,
lib/legion/data/connection.rb,
lib/legion/data/event_store.rb,
lib/legion/data/models/node.rb,
lib/legion/data/models/task.rb,
lib/legion/data/models/runner.rb,
lib/legion/data/storage_tiers.rb,
lib/legion/data/models/setting.rb,
lib/legion/data/archival/policy.rb,
lib/legion/data/models/function.rb,
lib/legion/data/models/task_log.rb,
lib/legion/data/models/audit_log.rb,
lib/legion/data/models/extension.rb,
lib/legion/data/encryption/cipher.rb,
lib/legion/data/partition_manager.rb,
lib/legion/data/models/apollo_entry.rb,
lib/legion/data/models/relationship.rb,
lib/legion/data/models/digital_worker.rb,
lib/legion/data/event_store/projection.rb,
lib/legion/data/models/apollo_relation.rb,
lib/legion/data/encryption/key_provider.rb,
lib/legion/data/models/apollo_expertise.rb,
lib/legion/data/encryption/sequel_plugin.rb,
lib/legion/data/models/apollo_access_log.rb,
lib/legion/data/models/rbac_runner_grant.rb,
lib/legion/data/models/rbac_role_assignment.rb,
lib/legion/data/models/rbac_cross_team_grant.rb
Defined Under Namespace
Modules: Archival, Archiver, Connection, Encryption, EventStore, Helper, Local, Migration, Model, Models, PartitionManager, Retention, Settings, Spool, StorageTiers, Vector
Constant Summary
collapse
- VERSION =
'1.6.1'
Class Method Summary
collapse
Class Method Details
.connection_setup ⇒ Object
.local ⇒ Object
46
47
48
|
# File 'lib/legion/data.rb', line 46
def local
Legion::Data::Local
end
|
.reload_static_cache ⇒ Object
73
74
75
76
77
|
# File 'lib/legion/data.rb', line 73
def reload_static_cache
[Model::Extension, Model::Runner, Model::Function].each do |model|
model.load_cache if model.respond_to?(:load_cache)
end
end
|
.setup ⇒ Object
19
20
21
22
23
24
25
26
|
# File 'lib/legion/data.rb', line 19
def setup
connection_setup
migrate
load_models
setup_cache
setup_local
Legion::Logging.info 'Legion::Data setup complete' if defined?(Legion::Logging)
end
|
.setup_cache ⇒ Object
57
58
59
60
61
|
# File 'lib/legion/data.rb', line 57
def setup_cache
cache_settings = Legion::Settings[:data][:cache]
setup_static_cache if cache_settings[:static_cache]
setup_external_cache if cache_settings[:auto_enable] && defined?(::Legion::Cache)
end
|
.setup_external_cache ⇒ Object
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/legion/data.rb', line 79
def setup_external_cache
ttl = Legion::Settings[:data][:cache][:ttl] || 60
{
Model::Relationship => 10,
Model::Node => 10,
Model::Setting => ttl
}.each do |model, model_ttl|
model.plugin :caching, ::Legion::Cache, ttl: model_ttl
Legion::Logging.debug("Caching enabled for #{model} (ttl: #{model_ttl})") if defined?(Legion::Logging)
rescue StandardError => e
Legion::Logging.warn("Caching failed for #{model}: #{e.message}") if defined?(Legion::Logging)
end
Legion::Logging.info 'Legion::Data external cache connected' if defined?(Legion::Logging)
end
|
.setup_static_cache ⇒ Object
63
64
65
66
67
68
69
70
71
|
# File 'lib/legion/data.rb', line 63
def setup_static_cache
[Model::Extension, Model::Runner, Model::Function].each do |model|
model.plugin :static_cache
Legion::Logging.debug("StaticCache enabled for #{model}") if defined?(Legion::Logging)
rescue StandardError => e
Legion::Logging.warn("StaticCache failed for #{model}: #{e.message}") if defined?(Legion::Logging)
end
Legion::Logging.info 'Legion::Data static cache loaded' if defined?(Legion::Logging)
end
|