eac_tools 0.69.1 → 0.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +28 -33
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +1 -1
  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/processes.rb +27 -0
  8. data/sub/avm/lib/avm/instances/data/package.rb +4 -0
  9. data/sub/avm/lib/avm/instances/data/unit.rb +4 -0
  10. data/sub/avm/lib/avm/instances/process.rb +21 -0
  11. data/sub/avm/lib/avm/version.rb +1 -1
  12. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +4 -4
  13. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base.rb +6 -0
  14. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/daemon.rb +35 -0
  15. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/tasks_scheduler.rb +27 -0
  16. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes.rb +13 -0
  17. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
  18. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +2 -2
  19. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +6 -0
  20. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +1 -1
  21. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +3 -3
  22. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +28 -0
  23. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +2 -10
  24. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +2 -10
  25. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +22 -0
  26. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +15 -1
  27. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +33 -0
  28. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes.rb +13 -0
  29. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  30. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +11 -0
  31. data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +1 -1
  32. metadata +18 -71
  33. data/sub/aranha-parsers/Gemfile +0 -8
  34. data/sub/aranha-parsers/aranha-parsers.gemspec +0 -23
  35. data/sub/aranha-parsers/lib/aranha/parsers/base.rb +0 -86
  36. data/sub/aranha-parsers/lib/aranha/parsers/html/base.rb +0 -61
  37. data/sub/aranha-parsers/lib/aranha/parsers/html/item.rb +0 -24
  38. data/sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb +0 -33
  39. data/sub/aranha-parsers/lib/aranha/parsers/html/node/base.rb +0 -34
  40. data/sub/aranha-parsers/lib/aranha/parsers/html/node/default/numeric_support.rb +0 -129
  41. data/sub/aranha-parsers/lib/aranha/parsers/html/node/default/string_support.rb +0 -77
  42. data/sub/aranha-parsers/lib/aranha/parsers/html/node/default.rb +0 -43
  43. data/sub/aranha-parsers/lib/aranha/parsers/html/node.rb +0 -13
  44. data/sub/aranha-parsers/lib/aranha/parsers/html.rb +0 -11
  45. data/sub/aranha-parsers/lib/aranha/parsers/invalid_state_exception.rb +0 -8
  46. data/sub/aranha-parsers/lib/aranha/parsers/json/base.rb +0 -20
  47. data/sub/aranha-parsers/lib/aranha/parsers/json.rb +0 -11
  48. data/sub/aranha-parsers/lib/aranha/parsers/patches/ofx_parser.rb +0 -38
  49. data/sub/aranha-parsers/lib/aranha/parsers/patches.rb +0 -11
  50. data/sub/aranha-parsers/lib/aranha/parsers/rspec/setup.rb +0 -15
  51. data/sub/aranha-parsers/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures.rb +0 -74
  52. data/sub/aranha-parsers/lib/aranha/parsers/rspec/source_target_fixtures_controller.rb +0 -39
  53. data/sub/aranha-parsers/lib/aranha/parsers/rspec.rb +0 -11
  54. data/sub/aranha-parsers/lib/aranha/parsers/source_address/fetch_content_error.rb +0 -16
  55. data/sub/aranha-parsers/lib/aranha/parsers/source_address/file.rb +0 -31
  56. data/sub/aranha-parsers/lib/aranha/parsers/source_address/hash_http_base.rb +0 -85
  57. data/sub/aranha-parsers/lib/aranha/parsers/source_address/hash_http_get.rb +0 -13
  58. data/sub/aranha-parsers/lib/aranha/parsers/source_address/hash_http_post.rb +0 -13
  59. data/sub/aranha-parsers/lib/aranha/parsers/source_address/http_get.rb +0 -54
  60. data/sub/aranha-parsers/lib/aranha/parsers/source_address.rb +0 -57
  61. data/sub/aranha-parsers/lib/aranha/parsers/source_target_fixtures/source_target_file.rb +0 -19
  62. data/sub/aranha-parsers/lib/aranha/parsers/source_target_fixtures.rb +0 -78
  63. data/sub/aranha-parsers/lib/aranha/parsers/version.rb +0 -7
  64. data/sub/aranha-parsers/lib/aranha/parsers.rb +0 -9
  65. data/sub/aranha-parsers/spec/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures_spec.rb +0 -9
  66. data/sub/aranha-parsers/spec/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures_spec_files/fixture1.source.txt +0 -1
  67. data/sub/aranha-parsers/spec/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures_spec_files/fixture1.target.yaml +0 -3
  68. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec.rb +0 -32
  69. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_get.source.yml +0 -6
  70. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_get.target.yaml +0 -10
  71. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_post.source.yml +0 -5
  72. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/hash_http_post.target.yaml +0 -12
  73. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/http_get.source.yml +0 -1
  74. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/detect_sub_spec_files/http_get.target.yaml +0 -10
  75. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address/http_get_spec.rb +0 -21
  76. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_address_spec.rb +0 -74
  77. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec.rb +0 -27
  78. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.source.txt +0 -1
  79. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.target.html +0 -1
  80. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub2.source.html +0 -1
  81. data/sub/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub3.target.yaml +0 -1
  82. data/sub/aranha-parsers/spec/lib/rubocop_check_spec.rb +0 -3
  83. 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: '009dade4ed624a02bbe58452512587fde89139f556705ca4dc04a7b7a07aa4db'
4
- data.tar.gz: f5e0232487bf64235ced72c158e3fb4767ec03c10f12c2fab707d38dda29ddf2
3
+ metadata.gz: 6858be32721d74994abe63f9eb7652c535bbfc94eddc100187fdde6a5e81e48d
4
+ data.tar.gz: 904933c0b7844a730604735f778a547d6d7fe57fae367ed3982b3b03d27ac736
5
5
  SHA512:
6
- metadata.gz: 51fb45c77591d5256b4af43189cdd5febf57cdaa2cf6a01059903b86f8f96c65dfcf4e25f413bcf3e1f644fb38abfb76d26d2b9d79deeeebc76e08e0c4eb5719
7
- data.tar.gz: 22b81b2557a307b73cb2733d5f0d5c38e184770402ccdfa798ce1f5e75d4e7803792e1f9b16962020006d5c0289be39b95d87af0f8327229dab6510cc960909f
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.1)
5
- avm (~> 0.76)
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,27 +10,16 @@ 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
20
  avm-tools (~> 0.151, >= 0.151.1)
21
21
  eac_ruby_utils (~> 0.117, >= 0.117.1)
22
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)
33
-
34
23
  PATH
35
24
  remote: sub/avm-eac_asciidoctor_base0
36
25
  specs:
@@ -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
@@ -192,8 +181,8 @@ PATH
192
181
  PATH
193
182
  remote: sub/avm
194
183
  specs:
195
- avm (0.76.0)
196
- aranha-parsers (~> 0.19)
184
+ avm (0.77.0)
185
+ aranha-parsers (~> 0.19, >= 0.19.1)
197
186
  eac_cli (~> 0.35, >= 0.35.1)
198
187
  eac_config (~> 0.12)
199
188
  eac_docker (~> 0.7)
@@ -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)
@@ -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,9 +329,9 @@ 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)
@@ -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.1'
4
+ VERSION = '0.70.0'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'aranha-parsers', '~> 0.19'
15
+ s.add_dependency 'aranha-parsers', '~> 0.19', '>= 0.19.1'
16
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,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)
@@ -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.76.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
@@ -2,12 +2,13 @@
2
2
 
3
3
  require 'avm/entries/jobs/base'
4
4
  require 'avm/eac_ubuntu_base0/apache'
5
+ require 'avm/eac_webapp_base0/instances/apache_base'
5
6
  require 'eac_ruby_utils/core_ext'
6
7
 
7
8
  module Avm
8
9
  module EacWebappBase0
9
10
  module Instances
10
- class ApachePath
11
+ class ApachePath < ::Avm::EacWebappBase0::Instances::ApacheBase
11
12
  JOBS = %w[write_available_conf enable_conf reload_apache].freeze
12
13
  include ::Avm::Entries::Jobs::Base
13
14
 
@@ -26,20 +27,11 @@ module Avm
26
27
 
27
28
  private
28
29
 
29
- def apache_uncached
30
- ::Avm::EacUbuntuBase0::Apache.new(instance.host_env)
31
- end
32
-
33
30
  def enable_conf
34
31
  infom 'Enabling configuration...'
35
32
  conf.enable
36
33
  end
37
34
 
38
- def reload_apache
39
- infom 'Reloading Apache...'
40
- apache.service('reload')
41
- end
42
-
43
35
  def conf_uncached
44
36
  apache.conf(instance.id)
45
37
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/entries/uri_builder'
4
+ require 'avm/instances/entry_keys'
5
+
6
+ module Avm
7
+ module EacWebappBase0
8
+ module Instances
9
+ class Base < ::Avm::Instances::Base
10
+ module Install
11
+ common_concern do
12
+ uri_components_entries_values 'install', %w[apache_resource_name]
13
+ end
14
+
15
+ def install_apache_resource_name_default_value
16
+ id
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -4,6 +4,7 @@ require 'avm/instances/base'
4
4
  require 'avm/eac_postgresql_base0/instance_with'
5
5
  require 'avm/instances/data/files_unit'
6
6
  require 'avm/instances/data/package'
7
+ require 'avm/eac_webapp_base0/instances/processes/web_server'
7
8
  require 'avm/eac_webapp_base0/instances/runners'
8
9
  require 'avm/eac_ubuntu_base0/instances/base'
9
10
 
@@ -11,10 +12,18 @@ module Avm
11
12
  module EacWebappBase0
12
13
  module Instances
13
14
  class Base < ::Avm::Instances::Base
14
- require_sub __FILE__
15
+ require_sub __FILE__, include_modules: true
15
16
  include ::Avm::EacPostgresqlBase0::InstanceWith
16
17
  enable_simple_cache
17
18
 
19
+ # @return [Avm::EacUbuntuBase0::Apache::Resource, nil]
20
+ def apache_resource
21
+ %i[conf site]
22
+ .lazy
23
+ .map { |type| platform_instance.apache.send(type, install_apache_resource_name) }
24
+ .find(&:available?)
25
+ end
26
+
18
27
  def run_subcommand(subcommand_class, argv)
19
28
  subcommand_class.create(
20
29
  argv: argv,
@@ -26,6 +35,11 @@ module Avm
26
35
  pg_data_unit
27
36
  end
28
37
 
38
+ # @return [Array<Avm::Instances::Process>]
39
+ def processes
40
+ super + [::Avm::EacWebappBase0::Instances::Processes::WebServer.new(self)]
41
+ end
42
+
29
43
  private
30
44
 
31
45
  # @return [Avm::EacUbuntuBase0::Instances::Base]