eac_tools 0.69.0 → 0.70.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +38 -43
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +3 -3
  5. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +32 -6
  6. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +2 -2
  7. data/sub/avm/lib/avm/instances/base/entry_keys.rb +5 -0
  8. data/sub/avm/lib/avm/instances/base/processes.rb +27 -0
  9. data/sub/avm/lib/avm/instances/data/package.rb +4 -0
  10. data/sub/avm/lib/avm/instances/data/unit.rb +4 -0
  11. data/sub/avm/lib/avm/instances/process.rb +21 -0
  12. data/sub/avm/lib/avm/version.rb +1 -1
  13. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +4 -4
  14. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base.rb +6 -0
  15. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/daemon.rb +35 -0
  16. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/tasks_scheduler.rb +27 -0
  17. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes.rb +13 -0
  18. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
  19. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +2 -2
  20. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +6 -0
  21. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +1 -1
  22. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +3 -3
  23. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +28 -0
  24. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +2 -10
  25. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +2 -10
  26. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +22 -0
  27. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +15 -1
  28. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +33 -0
  29. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes.rb +13 -0
  30. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  31. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +11 -0
  32. data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +1 -1
  33. data/sub/avm-tools/avm-tools.gemspec +1 -1
  34. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +5 -0
  35. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +5 -0
  36. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +1 -5
  37. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +1 -1
  38. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  39. data/sub/eac_cli/lib/eac_cli/runner/context.rb +5 -4
  40. data/sub/eac_cli/lib/eac_cli/version.rb +1 -1
  41. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  42. data/sub/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +1 -1
  43. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/yaml_spec.rb +2 -1
  44. metadata +30 -71
  45. data/sub/aranha-parsers/Gemfile +0 -8
  46. data/sub/aranha-parsers/aranha-parsers.gemspec +0 -23
  47. data/sub/aranha-parsers/lib/aranha/parsers/base.rb +0 -86
  48. data/sub/aranha-parsers/lib/aranha/parsers/html/base.rb +0 -61
  49. data/sub/aranha-parsers/lib/aranha/parsers/html/item.rb +0 -24
  50. data/sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb +0 -33
  51. data/sub/aranha-parsers/lib/aranha/parsers/html/node/base.rb +0 -34
  52. data/sub/aranha-parsers/lib/aranha/parsers/html/node/default/numeric_support.rb +0 -129
  53. data/sub/aranha-parsers/lib/aranha/parsers/html/node/default/string_support.rb +0 -77
  54. data/sub/aranha-parsers/lib/aranha/parsers/html/node/default.rb +0 -43
  55. data/sub/aranha-parsers/lib/aranha/parsers/html/node.rb +0 -13
  56. data/sub/aranha-parsers/lib/aranha/parsers/html.rb +0 -11
  57. data/sub/aranha-parsers/lib/aranha/parsers/invalid_state_exception.rb +0 -8
  58. data/sub/aranha-parsers/lib/aranha/parsers/json/base.rb +0 -20
  59. data/sub/aranha-parsers/lib/aranha/parsers/json.rb +0 -11
  60. data/sub/aranha-parsers/lib/aranha/parsers/patches/ofx_parser.rb +0 -38
  61. data/sub/aranha-parsers/lib/aranha/parsers/patches.rb +0 -11
  62. data/sub/aranha-parsers/lib/aranha/parsers/rspec/setup.rb +0 -15
  63. data/sub/aranha-parsers/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures.rb +0 -74
  64. data/sub/aranha-parsers/lib/aranha/parsers/rspec/source_target_fixtures_controller.rb +0 -39
  65. data/sub/aranha-parsers/lib/aranha/parsers/rspec.rb +0 -11
  66. data/sub/aranha-parsers/lib/aranha/parsers/source_address/fetch_content_error.rb +0 -16
  67. data/sub/aranha-parsers/lib/aranha/parsers/source_address/file.rb +0 -31
  68. data/sub/aranha-parsers/lib/aranha/parsers/source_address/hash_http_base.rb +0 -85
  69. data/sub/aranha-parsers/lib/aranha/parsers/source_address/hash_http_get.rb +0 -13
  70. data/sub/aranha-parsers/lib/aranha/parsers/source_address/hash_http_post.rb +0 -13
  71. data/sub/aranha-parsers/lib/aranha/parsers/source_address/http_get.rb +0 -54
  72. data/sub/aranha-parsers/lib/aranha/parsers/source_address.rb +0 -57
  73. data/sub/aranha-parsers/lib/aranha/parsers/source_target_fixtures/source_target_file.rb +0 -19
  74. data/sub/aranha-parsers/lib/aranha/parsers/source_target_fixtures.rb +0 -78
  75. data/sub/aranha-parsers/lib/aranha/parsers/version.rb +0 -7
  76. data/sub/aranha-parsers/lib/aranha/parsers.rb +0 -9
  77. data/sub/aranha-parsers/spec/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures_spec.rb +0 -9
  78. data/sub/aranha-parsers/spec/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures_spec_files/fixture1.source.txt +0 -1
  79. data/sub/aranha-parsers/spec/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures_spec_files/fixture1.target.yaml +0 -3
  80. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec.rb +0 -32
  81. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_get.source.yml +0 -6
  82. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_get.target.yaml +0 -10
  83. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_post.source.yml +0 -5
  84. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_post.target.yaml +0 -12
  85. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/http_get.source.yml +0 -1
  86. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/http_get.target.yaml +0 -10
  87. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/http_get_spec.rb +0 -21
  88. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address_spec.rb +0 -74
  89. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec.rb +0 -27
  90. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.source.txt +0 -1
  91. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.target.html +0 -1
  92. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub2.source.html +0 -1
  93. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub3.target.yaml +0 -1
  94. data/sub/aranha-parsers/spec/lib/rubocop_check_spec.rb +0 -3
  95. data/sub/aranha-parsers/spec/spec_helper.rb +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 154479f83d348a92c4679896b5823cde655434bff03318a87f1327504a60b666
4
- data.tar.gz: 1af0723d19a94caaf7eae6af5fc4151cf2bd2bb108e29c335dfe721e1f4714ff
3
+ metadata.gz: 6858be32721d74994abe63f9eb7652c535bbfc94eddc100187fdde6a5e81e48d
4
+ data.tar.gz: 904933c0b7844a730604735f778a547d6d7fe57fae367ed3982b3b03d27ac736
5
5
  SHA512:
6
- metadata.gz: 0103ea3d0b34d1e27e9e940c9e654e968bd4dde5b348c38180fd3bd95f9c569712c95dcd53ff37f1e5cd90db4d95c6c8542429f3ac71ed2037fd162bbc507264
7
- data.tar.gz: 1d6bc0ab13de8660b2baa316fd86333e3ecff40217f52ea35023598781dd8f1a98ab6aedf8143791a99d4f56b55dc0dad6f2578bb1c6e6629f035bd455572a31
6
+ metadata.gz: 476ec657348113643c3b6a0c937c1f3c02ccab809287e69a53f29d6d03a609ef6f129338be568557b8d54b7ddd1e2aa1b2bf34ded38c5d2ebeef2fecfc7bb402
7
+ data.tar.gz: 73d93ad5bde69d50a32ff8d677ee5c7418b568f76ce6cf95016de84bb18f384ec8457293b717e2ed05d623489e7c13348bf511b58af58d4c6176a31b1727b884
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.69.0)
5
- avm (~> 0.75)
4
+ eac_tools (0.70.0)
5
+ avm (~> 0.77)
6
6
  avm-eac_asciidoctor_base0 (~> 0.19)
7
7
  avm-eac_generic_base0 (~> 0.12)
8
8
  avm-eac_latex_base0 (~> 0.3, >= 0.3.1)
@@ -10,26 +10,15 @@ PATH
10
10
  avm-eac_postgresql_base0 (~> 0.5, >= 0.5.1)
11
11
  avm-eac_python_base0 (~> 0.2, >= 0.2.1)
12
12
  avm-eac_rails_base0 (~> 0.10, >= 0.10.2)
13
- avm-eac_rails_base1 (~> 0.8, >= 0.8.4)
13
+ avm-eac_rails_base1 (~> 0.9)
14
14
  avm-eac_redmine_base0 (~> 0.20, >= 0.20.1)
15
15
  avm-eac_redmine_plugin_base0 (~> 0.4)
16
16
  avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
17
- avm-eac_webapp_base0 (~> 0.17, >= 0.17.2)
17
+ avm-eac_webapp_base0 (~> 0.18)
18
18
  avm-eac_wordpress_base0 (~> 0.3, >= 0.3.1)
19
19
  avm-git (~> 0.13, >= 0.13.3)
20
- avm-tools (~> 0.151)
21
- eac_ruby_utils (~> 0.117)
22
-
23
- PATH
24
- remote: sub/aranha-parsers
25
- specs:
26
- aranha-parsers (0.19.0)
27
- activesupport (>= 4.0.0)
28
- addressable (~> 2.8, >= 2.8.4)
29
- eac_envs-http (~> 0.3, >= 0.3.2)
30
- eac_ruby_utils (~> 0.117)
31
- nokogiri (~> 1.15, >= 1.15.1)
32
- ofx-parser (~> 1.1)
20
+ avm-tools (~> 0.151, >= 0.151.1)
21
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
33
22
 
34
23
  PATH
35
24
  remote: sub/avm-eac_asciidoctor_base0
@@ -88,11 +77,11 @@ PATH
88
77
  PATH
89
78
  remote: sub/avm-eac_rails_base1
90
79
  specs:
91
- avm-eac_rails_base1 (0.8.4)
92
- avm (~> 0.68)
93
- avm-eac_ruby_base1 (~> 0.30, >= 0.30.2)
94
- avm-eac_webapp_base0 (~> 0.15, >= 0.15.1)
95
- eac_ruby_utils (~> 0.112)
80
+ avm-eac_rails_base1 (0.9.0)
81
+ avm (~> 0.77)
82
+ avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
83
+ avm-eac_webapp_base0 (~> 0.18)
84
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
96
85
 
97
86
  PATH
98
87
  remote: sub/avm-eac_redmine_base0
@@ -127,21 +116,21 @@ PATH
127
116
  PATH
128
117
  remote: sub/avm-eac_ubuntu_base0
129
118
  specs:
130
- avm-eac_ubuntu_base0 (0.4.3)
131
- avm (~> 0.73)
132
- eac_ruby_utils (~> 0.117)
119
+ avm-eac_ubuntu_base0 (0.5.0)
120
+ avm (~> 0.77)
121
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
133
122
  eac_templates (~> 0.5)
134
123
 
135
124
  PATH
136
125
  remote: sub/avm-eac_webapp_base0
137
126
  specs:
138
- avm-eac_webapp_base0 (0.17.2)
139
- avm (~> 0.73)
127
+ avm-eac_webapp_base0 (0.18.0)
128
+ avm (~> 0.77)
140
129
  avm-eac_generic_base0 (~> 0.12)
141
130
  avm-eac_postgresql_base0 (~> 0.5, >= 0.5.1)
142
- avm-eac_ubuntu_base0 (~> 0.4, >= 0.4.3)
131
+ avm-eac_ubuntu_base0 (~> 0.5)
143
132
  avm-files (~> 0.6, >= 0.6.2)
144
- eac_ruby_utils (~> 0.117)
133
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
145
134
 
146
135
  PATH
147
136
  remote: sub/avm-eac_wordpress_base0
@@ -174,9 +163,9 @@ PATH
174
163
  PATH
175
164
  remote: sub/avm-tools
176
165
  specs:
177
- avm-tools (0.151.0)
166
+ avm-tools (0.151.1)
178
167
  aranha-parsers (~> 0.19)
179
- avm (~> 0.75)
168
+ avm (~> 0.76)
180
169
  avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
181
170
  avm-eac_ubuntu_base0 (~> 0.4, >= 0.4.3)
182
171
  avm-files (~> 0.6, >= 0.6.2)
@@ -192,14 +181,14 @@ PATH
192
181
  PATH
193
182
  remote: sub/avm
194
183
  specs:
195
- avm (0.75.0)
196
- aranha-parsers (~> 0.19)
197
- eac_cli (~> 0.35)
184
+ avm (0.77.0)
185
+ aranha-parsers (~> 0.19, >= 0.19.1)
186
+ eac_cli (~> 0.35, >= 0.35.1)
198
187
  eac_config (~> 0.12)
199
188
  eac_docker (~> 0.7)
200
189
  eac_fs (~> 0.16)
201
190
  eac_git (~> 0.14, >= 0.14.1)
202
- eac_ruby_utils (~> 0.117)
191
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
203
192
  eac_templates (~> 0.5)
204
193
  filesize (~> 0.2)
205
194
  htmlbeautifier (~> 1.4, >= 1.4.2)
@@ -208,7 +197,7 @@ PATH
208
197
  PATH
209
198
  remote: sub/eac_cli
210
199
  specs:
211
- eac_cli (0.35.0)
200
+ eac_cli (0.35.1)
212
201
  colorize (~> 0.8, >= 0.8.1)
213
202
  eac_config (~> 0.12)
214
203
  eac_ruby_utils (~> 0.117)
@@ -274,7 +263,7 @@ PATH
274
263
  PATH
275
264
  remote: sub/eac_ruby_utils
276
265
  specs:
277
- eac_ruby_utils (0.117.0)
266
+ eac_ruby_utils (0.117.1)
278
267
  activesupport (>= 4, < 7)
279
268
  addressable (~> 2.8, >= 2.8.4)
280
269
  bundler
@@ -299,6 +288,13 @@ GEM
299
288
  zeitwerk (~> 2.3)
300
289
  addressable (2.8.4)
301
290
  public_suffix (>= 2.0.2, < 6.0)
291
+ aranha-parsers (0.20.0)
292
+ activesupport (>= 4.0.0)
293
+ addressable (~> 2.8, >= 2.8.4)
294
+ eac_envs-http (~> 0.3, >= 0.3.2)
295
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
296
+ nokogiri (~> 1.15, >= 1.15.2)
297
+ ofx-parser (~> 1.1)
302
298
  asciidoctor (2.0.20)
303
299
  ast (2.4.2)
304
300
  clipboard (1.3.6)
@@ -314,7 +310,7 @@ GEM
314
310
  rubocop (~> 0.80.1)
315
311
  rubocop-rails (~> 2.4.2)
316
312
  rubocop-rspec (~> 1.38.1)
317
- faraday (2.7.4)
313
+ faraday (2.7.5)
318
314
  faraday-net_http (>= 2.0, < 3.1)
319
315
  ruby2_keywords (>= 0.0.4)
320
316
  faraday-follow_redirects (0.3.0)
@@ -325,7 +321,7 @@ GEM
325
321
  faraday-multipart (1.0.4)
326
322
  multipart-post (~> 2)
327
323
  faraday-net_http (3.0.2)
328
- faraday-retry (2.1.0)
324
+ faraday-retry (2.2.0)
329
325
  faraday (~> 2.0)
330
326
  filesize (0.2.0)
331
327
  git (1.18.0)
@@ -333,14 +329,14 @@ GEM
333
329
  rchardet (~> 1.8)
334
330
  hpricot (0.8.6)
335
331
  htmlbeautifier (1.4.2)
336
- i18n (1.13.0)
332
+ i18n (1.14.0)
337
333
  concurrent-ruby (~> 1.0)
338
- jaro_winkler (1.5.5)
334
+ jaro_winkler (1.5.6)
339
335
  minitar (0.9)
340
336
  minitest (5.18.0)
341
337
  multipart-post (2.3.0)
342
338
  net-ssh (4.2.0)
343
- nokogiri (1.15.1-x86_64-linux)
339
+ nokogiri (1.15.2-x86_64-linux)
344
340
  racc (~> 1.4)
345
341
  ofx-parser (1.1.0)
346
342
  hpricot (>= 0.6)
@@ -396,7 +392,6 @@ PLATFORMS
396
392
  x86_64-linux
397
393
 
398
394
  DEPENDENCIES
399
- aranha-parsers!
400
395
  avm!
401
396
  avm-eac_asciidoctor_base0!
402
397
  avm-eac_generic_base0!
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.69.0'
4
+ VERSION = '0.70.0'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -12,13 +12,13 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'aranha-parsers', '~> 0.19'
16
- s.add_dependency 'eac_cli', '~> 0.35'
15
+ s.add_dependency 'aranha-parsers', '~> 0.19', '>= 0.19.1'
16
+ s.add_dependency 'eac_cli', '~> 0.35', '>= 0.35.1'
17
17
  s.add_dependency 'eac_config', '~> 0.12'
18
18
  s.add_dependency 'eac_docker', '~> 0.7'
19
19
  s.add_dependency 'eac_fs', '~> 0.16'
20
20
  s.add_dependency 'eac_git', '~> 0.14', '>= 0.14.1'
21
- s.add_dependency 'eac_ruby_utils', '~> 0.117'
21
+ s.add_dependency 'eac_ruby_utils', '~> 0.117', '>= 0.117.1'
22
22
  s.add_dependency 'eac_templates', '~> 0.5'
23
23
  s.add_dependency 'filesize', '~> 0.2'
24
24
  s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.2'
@@ -19,8 +19,25 @@ module Avm
19
19
  [prefix, component].join('_')
20
20
  end
21
21
 
22
- def define_auto_method(&block)
23
- entries_provider_class.define_method(auto_method_name, &block)
22
+ def define_auto_method
23
+ outer_self = self
24
+ entries_provider_class.define_method(auto_method_name) do
25
+ uri_component_entry_value(outer_self.entry_key_path.to_string)
26
+ end
27
+ end
28
+
29
+ def define_get_method
30
+ outer_self = self
31
+ entries_provider_class.define_method(get_method_name) do
32
+ read_entry(outer_self.entry_key_path.to_string)
33
+ end
34
+ end
35
+
36
+ def define_get_optional_method
37
+ outer_self = self
38
+ entries_provider_class.define_method(get_optional_method_name) do
39
+ read_entry_optional(outer_self.entry_key_path.to_string)
40
+ end
24
41
  end
25
42
 
26
43
  def define_inherited_value_proc_method(&block)
@@ -31,6 +48,16 @@ module Avm
31
48
  ::EacConfig::EntryPath.assert([prefix, component])
32
49
  end
33
50
 
51
+ # @return [String]
52
+ def get_method_name # rubocop:disable Naming/AccessorMethodName
53
+ component_method_name
54
+ end
55
+
56
+ # @return [String]
57
+ def get_optional_method_name # rubocop:disable Naming/AccessorMethodName
58
+ get_method_name + '_optional'
59
+ end
60
+
34
61
  def id_component
35
62
  @id_component ||= owner.component_factory('id')
36
63
  end
@@ -40,10 +67,9 @@ module Avm
40
67
  end
41
68
 
42
69
  def setup
43
- outer_self = self
44
- define_auto_method do
45
- uri_component_entry_value(outer_self.entry_key_path.to_string)
46
- end
70
+ define_auto_method
71
+ define_get_method
72
+ define_get_optional_method
47
73
  end
48
74
  end
49
75
  end
@@ -8,9 +8,9 @@ module Avm
8
8
  module Base
9
9
  class UriComponentsEntriesValues
10
10
  class UrlComponent < ::Avm::Entries::Base::UriComponentsEntriesValues::GenericComponent
11
- def setup
11
+ def define_auto_method
12
12
  outer_self = self
13
- define_auto_method do
13
+ entries_provider_class.define_method(auto_method_name) do
14
14
  inherited_entry_value(outer_self.id_component.entry_key_path.to_string,
15
15
  outer_self.entry_key_path.to_string) ||
16
16
  outer_self.auto_install_url_by_parts(self)
@@ -6,6 +6,11 @@ module Avm
6
6
  module Instances
7
7
  class Base
8
8
  module EntryKeys
9
+ # @return [Enumerable<String>]
10
+ def entry_keys
11
+ ::Avm::Instances::EntryKeys.all
12
+ end
13
+
9
14
  ::Avm::Instances::EntryKeys.all.each do |key|
10
15
  method_name = key.to_s.variableize
11
16
  define_method method_name do
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Instances
7
+ class Base
8
+ module Processes
9
+ # @return [Array<Avm::Instances::Process>]
10
+ def available_processes
11
+ processes.select(&:available?)
12
+ end
13
+
14
+ def on_disabled_processes(&block)
15
+ available_processes.each(&:disable)
16
+ block.call
17
+ available_processes.each(&:enable)
18
+ end
19
+
20
+ # @return [Array<Avm::Instances::Process>]
21
+ def processes
22
+ []
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -17,6 +17,10 @@ module Avm
17
17
  def data_default_dump_path
18
18
  instance.data_default_dump_path.to_pathname
19
19
  end
20
+
21
+ def load(*args, &block)
22
+ instance.on_disabled_processes { super(*args, &block) }
23
+ end
20
24
  end
21
25
  end
22
26
  end
@@ -20,6 +20,10 @@ module Avm
20
20
  def identifier
21
21
  instance.data_package.units.key(self) || raise("No identifier found for #{self}")
22
22
  end
23
+
24
+ def load(*args, &block)
25
+ instance.on_disabled_processes { super(*args, &block) }
26
+ end
23
27
  end
24
28
  end
25
29
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Instances
7
+ class Process
8
+ class << self
9
+ # @return [Symbol]
10
+ def default_id
11
+ name.demodulize.underscore.to_sym
12
+ end
13
+ end
14
+
15
+ acts_as_abstract :available?, :disable, :enable
16
+ common_constructor :instance, :id, default: [nil] do
17
+ self.id ||= (id || self.class.default_id).to_sym
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.75.0'
4
+ VERSION = '0.77.0'
5
5
  end
@@ -12,10 +12,10 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.68'
16
- s.add_dependency 'avm-eac_ruby_base1', '~> 0.30', '>= 0.30.2'
17
- s.add_dependency 'avm-eac_webapp_base0', '~> 0.15', '>= 0.15.1'
18
- s.add_dependency 'eac_ruby_utils', '~> 0.112'
15
+ s.add_dependency 'avm', '~> 0.77'
16
+ s.add_dependency 'avm-eac_ruby_base1', '~> 0.30', '>= 0.30.3'
17
+ s.add_dependency 'avm-eac_webapp_base0', '~> 0.18'
18
+ s.add_dependency 'eac_ruby_utils', '~> 0.117', '>= 0.117.1'
19
19
 
20
20
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
21
21
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/eac_rails_base1/instances/processes/tasks_scheduler'
3
4
  require 'avm/eac_rails_base1/instances/runners'
4
5
  require 'avm/eac_ruby_base1/instances/mixin'
5
6
  require 'avm/eac_ruby_base1/sources/base'
@@ -22,6 +23,11 @@ module Avm
22
23
  super.add_unit('database', database_unit)
23
24
  end
24
25
 
26
+ # @return [Array<Avm::Instances::Process>]
27
+ def processes
28
+ super + [::Avm::EacRailsBase1::Instances::Processes::TasksScheduler.new(self)]
29
+ end
30
+
25
31
  def rake(*args)
26
32
  bundle('exec', 'rake', *args)
27
33
  end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/process'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ module Instances
9
+ module Processes
10
+ class Daemon < ::Avm::Instances::Process
11
+ acts_as_abstract :command_name, :gem_name
12
+
13
+ # @return [Boolean]
14
+ def available?
15
+ instance.the_gem.gemfile_lock_gem_version(gem_name).present?
16
+ end
17
+
18
+ def disable
19
+ daemon_command(:stop).system!
20
+ end
21
+
22
+ def enable
23
+ daemon_command(:start).system!
24
+ end
25
+
26
+ private
27
+
28
+ def daemon_command(action)
29
+ instance.bundle('exec', command_name, action)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/instances/processes/daemon'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ module Instances
9
+ module Processes
10
+ class TasksScheduler < ::Avm::EacRailsBase1::Instances::Processes::Daemon
11
+ GEM_NAME = 'tasks_scheduler'
12
+ COMMAND_NAME = 'tasks_scheduler'
13
+
14
+ # @return [String]
15
+ def command_name
16
+ COMMAND_NAME
17
+ end
18
+
19
+ # @return [String]
20
+ def gem_name
21
+ GEM_NAME
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRailsBase1
7
+ module Instances
8
+ module Processes
9
+ require_sub __FILE__
10
+ end
11
+ end
12
+ end
13
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRailsBase1
5
- VERSION = '0.8.4'
5
+ VERSION = '0.9.0'
6
6
  end
7
7
  end
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.73'
16
- s.add_dependency 'eac_ruby_utils', '~> 0.117'
15
+ s.add_dependency 'avm', '~> 0.77'
16
+ s.add_dependency 'eac_ruby_utils', '~> 0.117', '>= 0.117.1'
17
17
  s.add_dependency 'eac_templates', '~> 0.5'
18
18
 
19
19
  s.add_development_dependency 'avm-eac_ubuntu_base0'
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/eac_ubuntu_base0/apache'
3
4
  require 'avm/eac_ubuntu_base0/docker_image'
4
5
  require 'avm/instances/base'
5
6
 
@@ -7,6 +8,11 @@ module Avm
7
8
  module EacUbuntuBase0
8
9
  module Instances
9
10
  class Base < ::Avm::Instances::Base
11
+ # @return [Avm::EacUbuntuBase0::Apache]
12
+ def apache
13
+ ::Avm::EacUbuntuBase0::Apache.new(host_env)
14
+ end
15
+
10
16
  def docker_image_class
11
17
  ::Avm::EacUbuntuBase0::DockerImage
12
18
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacUbuntuBase0
5
- VERSION = '0.4.3'
5
+ VERSION = '0.5.0'
6
6
  end
7
7
  end
@@ -12,12 +12,12 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.73'
15
+ s.add_dependency 'avm', '~> 0.77'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.12'
17
17
  s.add_dependency 'avm-eac_postgresql_base0', '~> 0.5', '>= 0.5.1'
18
- s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.4', '>= 0.4.3'
18
+ s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.5'
19
19
  s.add_dependency 'avm-files', '~> 0.6', '>= 0.6.2'
20
- s.add_dependency 'eac_ruby_utils', '~> 0.117'
20
+ s.add_dependency 'eac_ruby_utils', '~> 0.117', '>= 0.117.1'
21
21
 
22
22
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
23
23
  end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'avm/entries/jobs/base'
5
+ require 'avm/eac_ubuntu_base0/apache'
6
+ require 'eac_templates/core_ext'
7
+
8
+ module Avm
9
+ module EacWebappBase0
10
+ module Instances
11
+ class ApacheBase
12
+ protected
13
+
14
+ def reload_apache
15
+ infom 'Reloading Apache...'
16
+ apache.service('reload')
17
+ end
18
+
19
+ private
20
+
21
+ # @return [Avm::EacUbuntuBase0::Apache]
22
+ def apache_uncached
23
+ instance.platform_instance.apache
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -3,12 +3,13 @@
3
3
  require 'eac_ruby_utils/core_ext'
4
4
  require 'avm/entries/jobs/base'
5
5
  require 'avm/eac_ubuntu_base0/apache'
6
+ require 'avm/eac_webapp_base0/instances/apache_base'
6
7
  require 'eac_templates/core_ext'
7
8
 
8
9
  module Avm
9
10
  module EacWebappBase0
10
11
  module Instances
11
- class ApacheHost
12
+ class ApacheHost < ::Avm::EacWebappBase0::Instances::ApacheBase
12
13
  APACHE_DIRECTORY_EXTRA_CONFIG_KEY = 'install.apache_directory_extra_config'
13
14
  JOBS = %w[write_available_no_ssl_site enable_no_ssl_site remove_ssl_site reload_apache
14
15
  run_certbot enable_ssl_site reload_apache].freeze
@@ -31,10 +32,6 @@ module Avm
31
32
 
32
33
  private
33
34
 
34
- def apache_uncached
35
- ::Avm::EacUbuntuBase0::Apache.new(instance.host_env)
36
- end
37
-
38
35
  def enable_no_ssl_site
39
36
  infom 'Enabling no SSL site...'
40
37
  no_ssl_site.enable
@@ -51,11 +48,6 @@ module Avm
51
48
  apache.site(instance.id)
52
49
  end
53
50
 
54
- def reload_apache
55
- infom 'Reloading Apache...'
56
- apache.service('reload')
57
- end
58
-
59
51
  def remove_ssl_site
60
52
  infom 'Removing SSL site...'
61
53
  ssl_site.remove