legion-data 0.1.1 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +98 -72
  3. data/.gitignore +0 -1
  4. data/.rubocop.yml +5 -7
  5. data/CHANGELOG.md +7 -0
  6. data/Gemfile.lock +85 -0
  7. data/legion-data.gemspec +3 -6
  8. data/lib/legion/data.rb +51 -33
  9. data/lib/legion/data/connection.rb +55 -19
  10. data/lib/legion/data/migration.rb +7 -20
  11. data/lib/legion/data/migrations/001_add_schema_columns.rb +1 -1
  12. data/lib/legion/data/migrations/002_add_users.rb +17 -0
  13. data/lib/legion/data/migrations/003_add_groups.rb +16 -0
  14. data/lib/legion/data/migrations/004_add_chains.rb +25 -0
  15. data/lib/legion/data/migrations/005_add_envs.rb +24 -0
  16. data/lib/legion/data/migrations/006_add_dcs.rb +24 -0
  17. data/lib/legion/data/migrations/007_add_nodes.rb +26 -0
  18. data/lib/legion/data/migrations/008_add_settings.rb +18 -0
  19. data/lib/legion/data/migrations/009_add_extensions.rb +25 -0
  20. data/lib/legion/data/migrations/010_add_runners.rb +21 -0
  21. data/lib/legion/data/migrations/011_add_functions.rb +29 -0
  22. data/lib/legion/data/migrations/012_add_tasks.rb +28 -0
  23. data/lib/legion/data/migrations/013_add_task_logs.rb +23 -0
  24. data/lib/legion/data/migrations/014_add_relationships.rb +27 -0
  25. data/lib/legion/data/migrations/015_add_default_extensions.rb +24 -0
  26. data/lib/legion/data/migrations/016_change_task_args.rb +7 -0
  27. data/lib/legion/data/migrations/017_add_payload_task.rb +7 -0
  28. data/lib/legion/data/migrations/018_add_migration_column.rb +7 -0
  29. data/lib/legion/data/migrations/019_add_debug_to_relationships.rb +7 -0
  30. data/lib/legion/data/migrations/020_add_delay_debug_to_tasks.rb +8 -0
  31. data/lib/legion/data/model.rb +26 -25
  32. data/lib/legion/data/models/chain.rb +0 -1
  33. data/lib/legion/data/models/datacenter.rb +0 -1
  34. data/lib/legion/data/models/environment.rb +0 -1
  35. data/lib/legion/data/models/extension.rb +11 -0
  36. data/lib/legion/data/models/function.rb +5 -4
  37. data/lib/legion/data/models/group.rb +10 -0
  38. data/lib/legion/data/models/node.rb +1 -1
  39. data/lib/legion/data/models/relationship.rb +1 -1
  40. data/lib/legion/data/models/runner.rb +15 -0
  41. data/lib/legion/data/models/setting.rb +10 -0
  42. data/lib/legion/data/models/task.rb +0 -1
  43. data/lib/legion/data/models/task_log.rb +0 -1
  44. data/lib/legion/data/models/user.rb +10 -0
  45. data/lib/legion/data/settings.rb +68 -0
  46. data/lib/legion/data/version.rb +1 -1
  47. data/sonar-project.properties +12 -0
  48. metadata +38 -89
  49. data/lib/legion/data/connections/base.rb +0 -45
  50. data/lib/legion/data/connections/jdbc.rb +0 -21
  51. data/lib/legion/data/connections/mysql.rb +0 -26
  52. data/lib/legion/data/connections/mysql2.rb +0 -26
  53. data/lib/legion/data/connections/mysql_base.rb +0 -19
  54. data/lib/legion/data/migrations/002_add_chains_table.rb +0 -21
  55. data/lib/legion/data/migrations/003_add_datacenters_table.rb +0 -21
  56. data/lib/legion/data/migrations/004_add_envs_table.rb +0 -21
  57. data/lib/legion/data/migrations/005_add_functions_table.rb +0 -25
  58. data/lib/legion/data/migrations/006_add_namespaces_table.rb +0 -24
  59. data/lib/legion/data/migrations/007_add_nodes_table.rb +0 -22
  60. data/lib/legion/data/migrations/008_add_relationships_table.rb +0 -28
  61. data/lib/legion/data/migrations/009_add_task_logs_table.rb +0 -17
  62. data/lib/legion/data/migrations/010_add_tasks_table.rb +0 -20
  63. data/lib/legion/data/migrations/011_add_users_and_groups.rb +0 -28
  64. data/lib/legion/data/migrations/012_foreign_keys_users_and_groups.rb +0 -42
  65. data/lib/legion/data/migrations/013_function_foreign_keys.rb +0 -10
  66. data/lib/legion/data/migrations/014_nodes_foreign_keys.rb +0 -12
  67. data/lib/legion/data/migrations/015_relationships_foreign_keys.rb +0 -14
  68. data/lib/legion/data/migrations/016_tasks_foreign_keys.rb +0 -22
  69. data/lib/legion/data/migrations/017_add_relationship_to_tasks.rb +0 -14
  70. data/lib/legion/data/models/namespace.rb +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1201c65f7728a2af01e9b77ea56b2bf5b1f357c246f12cf84e59790d917a314c
4
- data.tar.gz: e7a17e1c023b5514a31952fad0898e4048dc89938888ffcb76632403a1aa3a94
3
+ metadata.gz: '05917a40508eeb0fad578860bb1a13953eddc1eccf23f96792f2cc65fdfd8ee0'
4
+ data.tar.gz: 394a1c4b2a7c8d022d04b97fb1a300a309b29a4b0a67de24258de75707a5ad9c
5
5
  SHA512:
6
- metadata.gz: '08530a83befaf49097ffcb3caff420f92d4d2fe942e88dce7b847a854d4241ab5d8370cef6168995e725db5fe26ff7773bb6763b7391992974b39bf444563638'
7
- data.tar.gz: cfa8d6055185cbea52085d845058538148f497096e13ff3370cd13086b00a062e4dc9861663f749c58781bc23bb37ea87e588b049a20b884dd1f881025d16a50
6
+ metadata.gz: 86564da23b0078eeb75d9c10c1810192f0eb7b092bad31645e06946d620a4d5bb0cc5259a3f12ee315289a64c7b137bc524f8ac8d7b13de2b76c01372bd48c04
7
+ data.tar.gz: a3df723257736474cf2250112fe34732dcc275071ab62af5be3b397b848ac92233a2f31f86a6a0bc7b472727e3548f7cd4086d19734318d421f309dbe1baea6b
@@ -1,21 +1,24 @@
1
- version: 2 # use CircleCI 2.0
1
+ version: 2.1
2
+ orbs:
3
+ ruby: circleci/ruby@0.2.1
4
+ sonarcloud: sonarsource/sonarcloud@1.0.1
5
+
2
6
  jobs:
3
7
  "rubocop":
4
8
  docker:
5
- - image: circleci/ruby:2.4-node
9
+ - image: circleci/ruby:2.7-node
6
10
  steps:
7
11
  - checkout
8
- - run: gem install rubocop
9
- - run: bundle install
12
+ - ruby/load-cache
13
+ - ruby/install-deps
10
14
  - run:
11
15
  name: Run Rubocop
12
- command: rubocop
13
- - store_test_results:
14
- path: test_results
15
- "ruby-2.3":
16
+ command: bundle exec rubocop
17
+ - ruby/save-cache
18
+ "ruby-two-five":
16
19
  docker:
17
- - image: circleci/ruby:2.3
18
- - image: mysql:5.7
20
+ - image: circleci/ruby:2.5
21
+ - image: circleci/mysql:5.7
19
22
  environment:
20
23
  MYSQL_DATABASE: 'legion'
21
24
  MYSQL_ROOT_PASSWORD: 'legion'
@@ -23,20 +26,20 @@ jobs:
23
26
  MYSQL_PASSWORD: 'legion'
24
27
  steps:
25
28
  - checkout
29
+ - ruby/load-cache
26
30
  - run:
27
- name: Bundle Install
28
- command: bundle install
31
+ name: update bundler
32
+ command: gem update bundler
33
+ - ruby/install-deps
29
34
  - run:
30
- name: Run RSpec
31
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
32
- when: always
33
- - store_test_results:
34
- path: test-results
35
-
36
- "ruby-2.4":
35
+ name: update max connections
36
+ command: 'sudo apt-get install default-mysql-client && mysql -h 127.0.0.1 -u root --password=legion --execute="set global max_connections = 100000;"'
37
+ - ruby/run-tests
38
+ - ruby/save-cache
39
+ "ruby-two-six":
37
40
  docker:
38
- - image: circleci/ruby:2.4-node
39
- - image: mysql:5.7
41
+ - image: circleci/ruby:2.6
42
+ - image: circleci/mysql:5.7
40
43
  environment:
41
44
  MYSQL_DATABASE: 'legion'
42
45
  MYSQL_ROOT_PASSWORD: 'legion'
@@ -44,19 +47,38 @@ jobs:
44
47
  MYSQL_PASSWORD: 'legion'
45
48
  steps:
46
49
  - checkout
50
+ - ruby/load-cache
47
51
  - run:
48
- name: Bundle Install
49
- command: bundle install
52
+ name: update bundler
53
+ command: gem update bundler
54
+ - ruby/install-deps
50
55
  - run:
51
- name: Run RSpec
52
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
53
- when: always
54
- - store_test_results:
55
- path: test-results
56
- "ruby-2.5":
56
+ name: update max connections
57
+ command: 'sudo apt-get install default-mysql-client && mysql -h 127.0.0.1 -u root --password=legion --execute="set global max_connections = 100000;"'
58
+ - ruby/run-tests
59
+ - ruby/save-cache
60
+ "ruby-two-seven":
57
61
  docker:
58
- - image: circleci/ruby:2.5-node
59
- - image: mysql:5.7
62
+ - image: circleci/ruby:2.7
63
+ - image: circleci/mysql:5.7
64
+ environment:
65
+ MYSQL_DATABASE: 'legion'
66
+ MYSQL_ROOT_PASSWORD: 'legion'
67
+ MYSQL_USER: 'legion'
68
+ MYSQL_PASSWORD: 'legion'
69
+ steps:
70
+ - checkout
71
+ - ruby/load-cache
72
+ - ruby/install-deps
73
+ - run:
74
+ name: update max connections
75
+ command: 'sudo apt-get install default-mysql-client && mysql -h 127.0.0.1 -u root --password=legion --execute="set global max_connections = 100000;"'
76
+ - ruby/run-tests
77
+ - ruby/save-cache
78
+ "jruby-nine-two":
79
+ docker:
80
+ - image: circleci/jruby:9.2-jre
81
+ - image: circleci/mysql:5.7
60
82
  environment:
61
83
  MYSQL_DATABASE: 'legion'
62
84
  MYSQL_ROOT_PASSWORD: 'legion'
@@ -67,16 +89,18 @@ jobs:
67
89
  - run:
68
90
  name: Bundle Install
69
91
  command: bundle install
92
+ - run:
93
+ name: update max connections
94
+ command: 'sudo apt-get install default-mysql-client && mysql -h 127.0.0.1 -u root --password=legion --execute="set global max_connections = 100000;"'
70
95
  - run:
71
96
  name: Run RSpec
72
97
  command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
73
98
  when: always
74
- - store_test_results:
75
- path: test-results
76
- "ruby-2.6":
99
+ - sonarcloud/scan
100
+ "jruby-nine-two-e":
77
101
  docker:
78
- - image: circleci/ruby:2.6-node
79
- - image: mysql:5.7
102
+ - image: circleci/jruby:9.2.13-jre
103
+ - image: circleci/mysql:5.7
80
104
  environment:
81
105
  MYSQL_DATABASE: 'legion'
82
106
  MYSQL_ROOT_PASSWORD: 'legion'
@@ -87,16 +111,17 @@ jobs:
87
111
  - run:
88
112
  name: Bundle Install
89
113
  command: bundle install
114
+ - run:
115
+ name: update max connections
116
+ command: 'sudo apt-get install default-mysql-client && mysql -h 127.0.0.1 -u root --password=legion --execute="set global max_connections = 100000;"'
90
117
  - run:
91
118
  name: Run RSpec
92
119
  command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
93
120
  when: always
94
- - store_test_results:
95
- path: test-results
96
- "jruby-9.2":
121
+ "sonarcloud":
97
122
  docker:
98
- - image: circleci/jruby:9.2
99
- - image: mysql:5.7
123
+ - image: circleci/ruby:2.7
124
+ - image: circleci/mysql:5.7
100
125
  environment:
101
126
  MYSQL_DATABASE: 'legion'
102
127
  MYSQL_ROOT_PASSWORD: 'legion'
@@ -104,45 +129,46 @@ jobs:
104
129
  MYSQL_PASSWORD: 'legion'
105
130
  steps:
106
131
  - checkout
132
+ - ruby/load-cache
107
133
  - run:
108
- name: Bundle Install
109
- command: bundle install
134
+ name: Install Rubocop
135
+ command: gem install rubocop rubocop-sequel rubocop-performance rubocop-rspec
110
136
  - run:
111
- name: Run RSpec
112
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o test-results/rspec/results.xml
113
- when: always
114
- - store_test_results:
115
- path: test-results
137
+ name: update bundler
138
+ command: gem update bundler
139
+ - ruby/install-deps
140
+ - run:
141
+ name: update max connections
142
+ command: 'sudo apt-get install default-mysql-client && mysql -h 127.0.0.1 -u root --password=legion --execute="set global max_connections = 100000;"'
143
+ - ruby/run-tests
144
+ - run:
145
+ name: Run Rubocop
146
+ command: rubocop --format=json --out=rubocop-result.json
147
+ - sonarcloud/scan
148
+ - ruby/save-cache
116
149
 
117
150
  workflows:
118
151
  version: 2
119
- cop_rake_deploy:
152
+ rubocop-rspec:
120
153
  jobs:
121
154
  - rubocop
122
- - ruby-2.3:
123
- requires:
124
- - ruby-2.4
125
- filters:
126
- branches:
127
- only: /\bdevelop\b|\bmaster\b/
128
- - ruby-2.4:
155
+ - ruby-two-five:
129
156
  requires:
130
157
  - rubocop
131
- - ruby-2.5:
158
+ - ruby-two-six:
159
+ requires:
160
+ - ruby-two-five
161
+ - ruby-two-seven:
162
+ requires:
163
+ - ruby-two-five
164
+ - sonarcloud:
165
+ requires:
166
+ - ruby-two-seven
167
+ - ruby-two-six
168
+ - jruby-nine-two:
132
169
  requires:
133
- - ruby-2.4
134
- filters:
135
- branches:
136
- only: /\bdevelop\b|\bmaster\b/
137
- - ruby-2.6:
170
+ - ruby-two-seven
171
+ - ruby-two-six
172
+ - jruby-nine-two-e:
138
173
  requires:
139
- - ruby-2.4
140
- filters:
141
- branches:
142
- only: /\bdevelop\b|\bmaster\b/
143
- # - jruby-9.2:
144
- # requires:
145
- # - ruby-2.3
146
- # - ruby-2.4
147
- # - ruby-2.5
148
- # - ruby-2.6
174
+ - jruby-nine-two
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
@@ -1,9 +1,4 @@
1
- require:
2
- - rubocop-sequel
3
- - rubocop-md
4
- - rubocop-performance
5
-
6
- Metrics/LineLength:
1
+ Layout/LineLength:
7
2
  Max: 120
8
3
  Exclude:
9
4
  - 'lib/legion/data/migrations/*.rb'
@@ -11,6 +6,8 @@ Metrics/MethodLength:
11
6
  Max: 30
12
7
  Metrics/ClassLength:
13
8
  Max: 1500
9
+ Metrics/AbcSize:
10
+ Max: 34
14
11
  Metrics/BlockLength:
15
12
  Max: 50
16
13
  Exclude:
@@ -25,6 +22,7 @@ Layout/HashAlignment:
25
22
  Style/Documentation:
26
23
  Enabled: false
27
24
  AllCops:
28
- TargetRubyVersion: 2.6
25
+ TargetRubyVersion: 2.5
26
+ NewCops: enable
29
27
  Style/FrozenStringLiteralComment:
30
28
  Enabled: false
@@ -1,4 +1,11 @@
1
1
  # Legion::Data Changelog
2
+ ## v1.1.2
3
+ * Updating connection details to support JDBC
4
+ * Changing default max connections to 10
5
+ * Fixing issue with Legion::Cache always throwing an error
6
+
7
+ ## v0.2.0
8
+ * Redesigning schema
2
9
 
3
10
  ## v0.1.1
4
11
  * Updated `rubocop.yml` with updated syntax
@@ -0,0 +1,85 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ legion-data (1.1.5)
5
+ legion-logging
6
+ legion-settings
7
+ mysql2
8
+ sequel
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ ast (2.4.1)
14
+ codecov (0.2.12)
15
+ json
16
+ simplecov
17
+ diff-lcs (1.4.4)
18
+ docile (1.3.2)
19
+ json (2.3.1)
20
+ json_pure (2.3.1)
21
+ legion-json (1.1.2)
22
+ json_pure
23
+ multi_json
24
+ legion-logging (1.1.3)
25
+ rainbow (~> 3)
26
+ legion-settings (1.1.2)
27
+ legion-json
28
+ legion-logging
29
+ multi_json (1.15.0)
30
+ mysql2 (0.5.3)
31
+ parallel (1.19.2)
32
+ parser (2.7.2.0)
33
+ ast (~> 2.4.1)
34
+ rainbow (3.0.0)
35
+ rake (13.0.1)
36
+ regexp_parser (1.8.2)
37
+ rexml (3.2.4)
38
+ rspec (3.9.0)
39
+ rspec-core (~> 3.9.0)
40
+ rspec-expectations (~> 3.9.0)
41
+ rspec-mocks (~> 3.9.0)
42
+ rspec-core (3.9.3)
43
+ rspec-support (~> 3.9.3)
44
+ rspec-expectations (3.9.3)
45
+ diff-lcs (>= 1.2.0, < 2.0)
46
+ rspec-support (~> 3.9.0)
47
+ rspec-mocks (3.9.1)
48
+ diff-lcs (>= 1.2.0, < 2.0)
49
+ rspec-support (~> 3.9.0)
50
+ rspec-support (3.9.4)
51
+ rspec_junit_formatter (0.4.1)
52
+ rspec-core (>= 2, < 4, != 2.12.0)
53
+ rubocop (1.0.0)
54
+ parallel (~> 1.10)
55
+ parser (>= 2.7.1.5)
56
+ rainbow (>= 2.2.2, < 4.0)
57
+ regexp_parser (>= 1.8)
58
+ rexml
59
+ rubocop-ast (>= 0.6.0)
60
+ ruby-progressbar (~> 1.7)
61
+ unicode-display_width (>= 1.4.0, < 2.0)
62
+ rubocop-ast (1.1.0)
63
+ parser (>= 2.7.1.5)
64
+ ruby-progressbar (1.10.1)
65
+ sequel (5.37.0)
66
+ simplecov (0.19.1)
67
+ docile (~> 1.1)
68
+ simplecov-html (~> 0.11)
69
+ simplecov-html (0.12.3)
70
+ unicode-display_width (1.7.0)
71
+
72
+ PLATFORMS
73
+ ruby
74
+
75
+ DEPENDENCIES
76
+ bundler
77
+ codecov
78
+ legion-data!
79
+ rake
80
+ rspec
81
+ rspec_junit_formatter
82
+ rubocop
83
+
84
+ BUNDLED WITH
85
+ 2.1.4
@@ -11,6 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.summary = 'Used by Legion to connect to the database'
12
12
  spec.description = 'The Legion connect gem'
13
13
  spec.homepage = 'https://bitbucket.org/legion-io/legion-data'
14
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
14
15
 
15
16
  spec.metadata['bug_tracker_uri'] = 'https://bitbucket.org/legion-io/legion-data/issues?status=new&status=open'
16
17
  spec.metadata['changelog_uri'] = 'https://bitbucket.org/legion-io/legion-data/src/CHANGELOG.md'
@@ -32,13 +33,9 @@ Gem::Specification.new do |spec|
32
33
  spec.add_development_dependency 'rspec'
33
34
  spec.add_development_dependency 'rspec_junit_formatter'
34
35
  spec.add_development_dependency 'rubocop'
35
- spec.add_development_dependency 'rubocop-md'
36
- spec.add_development_dependency 'rubocop-performance'
37
- spec.add_development_dependency 'rubocop-rspec'
38
- spec.add_development_dependency 'rubocop-sequel'
39
36
 
40
- spec.add_dependency 'legion-logging', '~>0.1'
41
- spec.add_dependency 'legion-settings', '~>0.1'
37
+ spec.add_dependency 'legion-logging'
38
+ spec.add_dependency 'legion-settings'
42
39
 
43
40
  if RUBY_ENGINE == 'jruby'
44
41
  spec.add_dependency 'jdbc-mysql'
@@ -1,43 +1,61 @@
1
1
  require 'legion/data/version'
2
+ require 'legion/data/settings'
2
3
  require 'sequel'
4
+
3
5
  require 'legion/data/connection'
4
- require 'legion/data/migration'
5
6
  require 'legion/data/model'
7
+ require 'legion/data/migration'
6
8
 
7
9
  module Legion
8
10
  module Data
9
- def build(options = {})
10
- @connected = false
11
- options.merge!(default_options) { |_key, v1, _v2| v1 }
12
- @connection = connect(options[:connection]) if options[:connection][:auto_connect]
13
- return unless options[:connection][:auto_connect]
14
-
15
- migrate(@connection, options[:migration])
16
- model(options[:model]) if options[:model][:auto_load]
17
- end
18
-
19
- def connect(_options = {})
20
- Legion::Data::Connection.new
21
- end
22
-
23
- def migrate(connection, options = {})
24
- return false if options.key?(:auto_migrate) && options[:auto_migrate]
25
-
26
- Legion::Data::Migration.new(connection.database.connection)
27
- end
28
-
29
- def model(_options = {})
30
- Legion::Data::Models.new
31
- end
32
-
33
- def default_options
34
- { migration: { auto_migrate: true },
35
- model: { auto_load: true },
36
- connection: { auto_connect: true } }
37
- end
38
-
39
- def merge_options(options, default = default_options)
40
- options.merge!(default) { |_key, v1, _v2| v1 }
11
+ class << self
12
+ def setup
13
+ connection_setup
14
+ migrate
15
+ load_models
16
+ setup_cache
17
+ end
18
+
19
+ def connection_setup
20
+ return if Legion::Settings[:data][:connected]
21
+
22
+ Legion::Data::Connection.setup
23
+ end
24
+
25
+ def migrate
26
+ Legion::Data::Migration.migrate
27
+ end
28
+
29
+ def load_models
30
+ Legion::Data::Models.load
31
+ end
32
+
33
+ def connection
34
+ Legion::Data::Connection.sequel
35
+ end
36
+
37
+ def setup_cache
38
+ return if Legion::Settings[:data][:cache][:enabled]
39
+
40
+ return unless defined?(::Legion::Cache)
41
+
42
+ Legion::Data::Model::Relationship.plugin :caching, Legion::Cache, ttl: 10
43
+ Legion::Data::Model::Runner.plugin :caching, Legion::Cache, ttl: 60
44
+ Legion::Data::Model::Chain.plugin :caching, Legion::Cache, ttl: 60
45
+ Legion::Data::Model::Datacenter.plugin :caching, Legion::Cache, ttl: 120
46
+ Legion::Data::Model::Function.plugin :caching, Legion::Cache, ttl: 120
47
+ Legion::Data::Model::Extension.plugin :caching, Legion::Cache, ttl: 120
48
+ Legion::Data::Model::Node.plugin :caching, Legion::Cache, ttl: 10
49
+ Legion::Data::Model::TaskLog.plugin :caching, Legion::Cache, ttl: 12
50
+ Legion::Data::Model::Task.plugin :caching, Legion::Cache, ttl: 10
51
+ Legion::Data::Model::User.plugin :caching, Legion::Cache, ttl: 120
52
+ Legion::Data::Model::Group.plugin :caching, Legion::Cache, ttl: 120
53
+ Legion::Logging.info 'Legion::Data connected to Legion::Cache'
54
+ end
55
+
56
+ def shutdown
57
+ Legion::Data::Connection.shutdown
58
+ end
41
59
  end
42
60
  end
43
61
  end