Sha256: 640b2e6f551c01c8c8bcdd5eb6f72f3eb1ce5f8224a45da0a75b78a0cabfe538
Contents?: true
Size: 1.92 KB
Versions: 1
Compression:
Stored size: 1.92 KB
Contents
require 'legion/data/version' require_relative 'data/settings' require 'sequel' require_relative 'data/connection' require_relative 'data/model' require_relative 'data/migration' module Legion module Data class << self def setup connection_setup migrate load_models # setup_cache end def connection_setup return if Legion::Settings[:data][:connected] Legion::Data::Connection.setup end def migrate Legion::Data::Migration.migrate end def load_models Legion::Data::Models.load end def connection Legion::Data::Connection.sequel end def setup_cache # rubocop:disable Metrics/AbcSize return if Legion::Settings[:data][:cache][:enable] unless Legion::Settings[:cache][:connected] Legion::Logging.warn 'Legion::Data has caching enabled but Legion::Cache is not started' end return unless Legion::Settings[:cache][:connected] # Legion::Data::Model::Relationship.plugin :caching, Legion::Cache, ttl: 10 Legion::Data::Model::Chain.plugin :caching, Legion::Cache, ttl: 60 Legion::Data::Model::Datacenter.plugin :caching, Legion::Cache, ttl: 120 Legion::Data::Model::Extension.plugin :caching, Legion::Cache, ttl: 120 Legion::Data::Model::Function.plugin :caching, Legion::Cache, ttl: 120 Legion::Data::Model::Namespace.plugin :caching, Legion::Cache, ttl: 120 Legion::Data::Model::Node.plugin :caching, Legion::Cache, ttl: 10 Legion::Data::Model::TaskLog.plugin :caching, Legion::Cache, ttl: 12 Legion::Data::Model::Task.plugin :caching, Legion::Cache, ttl: 10 Legion::Data::Model::User.plugin :caching, Legion::Cache, ttl: 120 Legion::Data::Model::Group.plugin :caching, Legion::Cache, ttl: 120 end def shutdown Legion::Data::Connection.shutdown end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
legion-data-0.2.0 | lib/legion/data.rb |