eac_tools 0.70.0 → 0.72.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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +39 -38
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +1 -1
  5. data/sub/avm/lib/avm/applications/base.rb +1 -0
  6. data/sub/avm/lib/avm/instances/base/processes.rb +3 -3
  7. data/sub/avm/lib/avm/instances/process.rb +11 -1
  8. data/sub/avm/lib/avm/registry/applications.rb +7 -0
  9. data/sub/avm/lib/avm/registry/config_objects.rb +18 -0
  10. data/sub/avm/lib/avm/registry.rb +3 -2
  11. data/sub/avm/lib/avm/version.rb +1 -1
  12. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +2 -2
  13. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/daemon.rb +4 -0
  14. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
  15. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +1 -1
  16. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +4 -0
  17. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  18. data/sub/avm-tools/avm-tools.gemspec +3 -3
  19. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +31 -0
  20. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +16 -0
  21. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  22. data/sub/eac_config/eac_config.gemspec +2 -2
  23. data/sub/eac_config/lib/eac_config/entries.rb +35 -0
  24. data/sub/eac_config/lib/eac_config/entry_path.rb +27 -0
  25. data/sub/eac_config/lib/eac_config/envvars_node.rb +6 -0
  26. data/sub/eac_config/lib/eac_config/node.rb +7 -1
  27. data/sub/eac_config/lib/eac_config/node_entry.rb +1 -0
  28. data/sub/eac_config/lib/eac_config/version.rb +1 -1
  29. data/sub/eac_config/lib/eac_config/yaml_file_node/self_entries.rb +72 -0
  30. data/sub/eac_config/lib/eac_config/yaml_file_node.rb +3 -0
  31. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec.rb +62 -26
  32. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1.yaml +5 -1
  33. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_1.yaml +2 -0
  34. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2/storage1_2_1.yaml +2 -0
  35. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2.yaml +6 -0
  36. data/sub/eac_envs-http/eac_envs-http.gemspec +3 -3
  37. data/sub/eac_envs-http/lib/eac_envs/http/response/body.rb +5 -0
  38. data/sub/eac_envs-http/lib/eac_envs/http/version.rb +1 -1
  39. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/get.target.yaml +1 -1
  40. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/get_with_auth.target.yaml +1 -1
  41. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/post_array_body.target.yaml +1 -1
  42. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/post_string_body.target.yaml +1 -1
  43. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/put_hash_body.target.yaml +1 -1
  44. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/put_with_file.target.yaml +1 -1
  45. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/root.target.yaml +1 -1
  46. data/sub/eac_envs-http/spec/spec_helper/request_builder.rb +1 -0
  47. data/sub/eac_rest/eac_rest.gemspec +2 -2
  48. data/sub/eac_rest/lib/eac_rest/api.rb +1 -1
  49. data/sub/eac_rest/lib/eac_rest/version.rb +1 -1
  50. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/get.target.yaml +1 -1
  51. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/get_with_auth.target.yaml +1 -1
  52. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/post_array_body.target.yaml +1 -1
  53. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/post_string_body.target.yaml +1 -1
  54. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/put_hash_body.target.yaml +1 -1
  55. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/put_with_file.target.yaml +1 -1
  56. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/root.target.yaml +1 -1
  57. data/sub/eac_rest/spec/spec_helper/request_builder.rb +2 -1
  58. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_instance_method.rb +34 -0
  59. data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry.rb +0 -1
  60. data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +7 -15
  61. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_instance_method.rb +10 -0
  62. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  63. data/sub/eac_ruby_utils/lib/eac_ruby_utils/wildcards.rb +26 -0
  64. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/wildcards_spec.rb +27 -0
  65. metadata +29 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6858be32721d74994abe63f9eb7652c535bbfc94eddc100187fdde6a5e81e48d
4
- data.tar.gz: 904933c0b7844a730604735f778a547d6d7fe57fae367ed3982b3b03d27ac736
3
+ metadata.gz: 8f6313738261dc5ddc1c3c7a92ccaed70d82b98d0b2b776a46b667781ebed872
4
+ data.tar.gz: a059376b3323ba30386875cd12129c1c590007c3123f3c7332eab317f3ee49a1
5
5
  SHA512:
6
- metadata.gz: 476ec657348113643c3b6a0c937c1f3c02ccab809287e69a53f29d6d03a609ef6f129338be568557b8d54b7ddd1e2aa1b2bf34ded38c5d2ebeef2fecfc7bb402
7
- data.tar.gz: 73d93ad5bde69d50a32ff8d677ee5c7418b568f76ce6cf95016de84bb18f384ec8457293b717e2ed05d623489e7c13348bf511b58af58d4c6176a31b1727b884
6
+ metadata.gz: 628e59eb835b0778eeaba3c040c982cbc86ecaffc8d43a37c0431b087474e2d5ef27be9c73f4edd7d740765f3c68cf7ff07150911b9c0c4559a82dc830b4e1f6
7
+ data.tar.gz: 9dc783ce0fd9b07daff7889fce3a71dafc31518e0244af14b1667a2049db0e4352d2cf9c13ffed815effd141462950493510ba91af593425878f405e3696258b
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.70.0)
5
- avm (~> 0.77)
4
+ eac_tools (0.72.0)
5
+ avm (~> 0.78)
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,15 +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.9)
13
+ avm-eac_rails_base1 (~> 0.9, >= 0.9.1)
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.18)
17
+ avm-eac_webapp_base0 (~> 0.18, >= 0.18.1)
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, >= 0.151.1)
21
- eac_ruby_utils (~> 0.117, >= 0.117.1)
20
+ avm-tools (~> 0.152)
21
+ eac_ruby_utils (~> 0.119)
22
22
 
23
23
  PATH
24
24
  remote: sub/avm-eac_asciidoctor_base0
@@ -77,10 +77,10 @@ PATH
77
77
  PATH
78
78
  remote: sub/avm-eac_rails_base1
79
79
  specs:
80
- avm-eac_rails_base1 (0.9.0)
81
- avm (~> 0.77)
80
+ avm-eac_rails_base1 (0.9.1)
81
+ avm (~> 0.78)
82
82
  avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
83
- avm-eac_webapp_base0 (~> 0.18)
83
+ avm-eac_webapp_base0 (~> 0.18, >= 0.18.1)
84
84
  eac_ruby_utils (~> 0.117, >= 0.117.1)
85
85
 
86
86
  PATH
@@ -124,8 +124,8 @@ PATH
124
124
  PATH
125
125
  remote: sub/avm-eac_webapp_base0
126
126
  specs:
127
- avm-eac_webapp_base0 (0.18.0)
128
- avm (~> 0.77)
127
+ avm-eac_webapp_base0 (0.18.1)
128
+ avm (~> 0.78)
129
129
  avm-eac_generic_base0 (~> 0.12)
130
130
  avm-eac_postgresql_base0 (~> 0.5, >= 0.5.1)
131
131
  avm-eac_ubuntu_base0 (~> 0.5)
@@ -163,11 +163,11 @@ PATH
163
163
  PATH
164
164
  remote: sub/avm-tools
165
165
  specs:
166
- avm-tools (0.151.1)
167
- aranha-parsers (~> 0.19)
168
- avm (~> 0.76)
166
+ avm-tools (0.152.0)
167
+ aranha-parsers (~> 0.21)
168
+ avm (~> 0.78)
169
169
  avm-eac_ruby_base1 (~> 0.30, >= 0.30.3)
170
- avm-eac_ubuntu_base0 (~> 0.4, >= 0.4.3)
170
+ avm-eac_ubuntu_base0 (~> 0.5)
171
171
  avm-files (~> 0.6, >= 0.6.2)
172
172
  avm-git (~> 0.13, >= 0.13.3)
173
173
  clipboard (~> 1.3, >= 1.3.6)
@@ -181,8 +181,8 @@ PATH
181
181
  PATH
182
182
  remote: sub/avm
183
183
  specs:
184
- avm (0.77.0)
185
- aranha-parsers (~> 0.19, >= 0.19.1)
184
+ avm (0.78.0)
185
+ aranha-parsers (~> 0.20)
186
186
  eac_cli (~> 0.35, >= 0.35.1)
187
187
  eac_config (~> 0.12)
188
188
  eac_docker (~> 0.7)
@@ -205,9 +205,9 @@ PATH
205
205
  PATH
206
206
  remote: sub/eac_config
207
207
  specs:
208
- eac_config (0.12.0)
209
- addressable (~> 2.8, >= 2.8.1)
210
- eac_ruby_utils (~> 0.107)
208
+ eac_config (0.13.0)
209
+ addressable (~> 2.8, >= 2.8.4)
210
+ eac_ruby_utils (~> 0.119)
211
211
 
212
212
  PATH
213
213
  remote: sub/eac_docker
@@ -219,14 +219,14 @@ PATH
219
219
  PATH
220
220
  remote: sub/eac_envs-http
221
221
  specs:
222
- eac_envs-http (0.3.2)
222
+ eac_envs-http (0.4.0)
223
223
  eac_fs (~> 0.16)
224
- eac_ruby_utils (~> 0.116)
225
- faraday (~> 2.7, >= 2.7.4)
224
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
225
+ faraday (~> 2.7, >= 2.7.6)
226
226
  faraday-follow_redirects (~> 0.3)
227
227
  faraday-gzip (~> 0.1)
228
228
  faraday-multipart (~> 1.0, >= 1.0.4)
229
- faraday-retry (~> 2.1)
229
+ faraday-retry (~> 2.2)
230
230
 
231
231
  PATH
232
232
  remote: sub/eac_fs
@@ -246,10 +246,10 @@ PATH
246
246
  PATH
247
247
  remote: sub/eac_rest
248
248
  specs:
249
- eac_rest (0.9.0)
250
- eac_envs-http (~> 0.3, >= 0.3.1)
249
+ eac_rest (0.9.1)
250
+ eac_envs-http (~> 0.4)
251
251
  eac_fs (~> 0.16)
252
- eac_ruby_utils (~> 0.112)
252
+ eac_ruby_utils (~> 0.117, >= 0.117.1)
253
253
 
254
254
  PATH
255
255
  remote: sub/eac_ruby_base0
@@ -263,7 +263,7 @@ PATH
263
263
  PATH
264
264
  remote: sub/eac_ruby_utils
265
265
  specs:
266
- eac_ruby_utils (0.117.1)
266
+ eac_ruby_utils (0.119.0)
267
267
  activesupport (>= 4, < 7)
268
268
  addressable (~> 2.8, >= 2.8.4)
269
269
  bundler
@@ -280,7 +280,7 @@ PATH
280
280
  GEM
281
281
  remote: https://rubygems.org/
282
282
  specs:
283
- activesupport (6.1.7.3)
283
+ activesupport (6.1.7.4)
284
284
  concurrent-ruby (~> 1.0, >= 1.0.2)
285
285
  i18n (>= 1.6, < 2)
286
286
  minitest (>= 5.1)
@@ -288,10 +288,10 @@ GEM
288
288
  zeitwerk (~> 2.3)
289
289
  addressable (2.8.4)
290
290
  public_suffix (>= 2.0.2, < 6.0)
291
- aranha-parsers (0.20.0)
291
+ aranha-parsers (0.21.0)
292
292
  activesupport (>= 4.0.0)
293
293
  addressable (~> 2.8, >= 2.8.4)
294
- eac_envs-http (~> 0.3, >= 0.3.2)
294
+ eac_envs-http (~> 0.4)
295
295
  eac_ruby_utils (~> 0.117, >= 0.117.1)
296
296
  nokogiri (~> 1.15, >= 1.15.2)
297
297
  ofx-parser (~> 1.1)
@@ -310,7 +310,7 @@ GEM
310
310
  rubocop (~> 0.80.1)
311
311
  rubocop-rails (~> 2.4.2)
312
312
  rubocop-rspec (~> 1.38.1)
313
- faraday (2.7.5)
313
+ faraday (2.7.7)
314
314
  faraday-net_http (>= 2.0, < 3.1)
315
315
  ruby2_keywords (>= 0.0.4)
316
316
  faraday-follow_redirects (0.3.0)
@@ -329,11 +329,11 @@ GEM
329
329
  rchardet (~> 1.8)
330
330
  hpricot (0.8.6)
331
331
  htmlbeautifier (1.4.2)
332
- i18n (1.14.0)
332
+ i18n (1.14.1)
333
333
  concurrent-ruby (~> 1.0)
334
334
  jaro_winkler (1.5.6)
335
335
  minitar (0.9)
336
- minitest (5.18.0)
336
+ minitest (5.18.1)
337
337
  multipart-post (2.3.0)
338
338
  net-ssh (4.2.0)
339
339
  nokogiri (1.15.2-x86_64-linux)
@@ -343,12 +343,13 @@ GEM
343
343
  os (1.1.4)
344
344
  parallel (1.23.0)
345
345
  parseconfig (1.1.2)
346
- parser (3.2.2.1)
346
+ parser (3.2.2.3)
347
347
  ast (~> 2.4.1)
348
+ racc
348
349
  parslet (2.0.0)
349
350
  public_suffix (5.0.1)
350
- racc (1.6.2)
351
- rack (3.0.7)
351
+ racc (1.7.1)
352
+ rack (3.0.8)
352
353
  rainbow (3.1.1)
353
354
  rchardet (1.8.0)
354
355
  rexml (3.2.5)
@@ -365,7 +366,7 @@ GEM
365
366
  rspec-mocks (3.12.5)
366
367
  diff-lcs (>= 1.2.0, < 2.0)
367
368
  rspec-support (~> 3.12.0)
368
- rspec-support (3.12.0)
369
+ rspec-support (3.12.1)
369
370
  rubocop (0.80.1)
370
371
  jaro_winkler (~> 1.5.1)
371
372
  parallel (~> 1.10)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.70.0'
4
+ VERSION = '0.72.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', '>= 0.19.1'
15
+ s.add_dependency 'aranha-parsers', '~> 0.20'
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'
@@ -12,6 +12,7 @@ module Avm
12
12
  require_sub __FILE__, include_modules: true
13
13
  include ::Avm::Entries::Base
14
14
 
15
+ AVM_TYPE = 'application'
15
16
  LOCAL_INSTANCE_SUFFIX = 'dev'
16
17
 
17
18
  common_constructor :id do
@@ -12,9 +12,9 @@ module Avm
12
12
  end
13
13
 
14
14
  def on_disabled_processes(&block)
15
- available_processes.each(&:disable)
16
- block.call
17
- available_processes.each(&:enable)
15
+ available_processes.inject(block) do |a, e|
16
+ -> { e.on_disabled(&a) }
17
+ end.call
18
18
  end
19
19
 
20
20
  # @return [Array<Avm::Instances::Process>]
@@ -12,10 +12,20 @@ module Avm
12
12
  end
13
13
  end
14
14
 
15
- acts_as_abstract :available?, :disable, :enable
15
+ acts_as_abstract :available?, :disable, :enable, :enabled?
16
16
  common_constructor :instance, :id, default: [nil] do
17
17
  self.id ||= (id || self.class.default_id).to_sym
18
18
  end
19
+
20
+ def on_disabled(&block)
21
+ previous_enabled = enabled?
22
+ begin
23
+ disable if previous_enabled
24
+ block.call
25
+ ensure
26
+ enable if previous_enabled
27
+ end
28
+ end
19
29
  end
20
30
  end
21
31
  end
@@ -10,6 +10,7 @@ module Avm
10
10
 
11
11
  # @return [Array<Avm::Applications::Base>]
12
12
  def available
13
+ load_config
13
14
  detected.values
14
15
  end
15
16
 
@@ -26,6 +27,12 @@ module Avm
26
27
  def detected
27
28
  @detected ||= {}
28
29
  end
30
+
31
+ def load_config
32
+ ::Avm::Registry.config_objects.available.each do |id, type|
33
+ detect(id) if type == ::Avm::Applications::Base::AVM_TYPE
34
+ end
35
+ end
29
36
  end
30
37
  end
31
38
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/applications/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Registry
8
+ class ConfigObjects
9
+ def initialize(*args); end
10
+
11
+ # @return [Array<Avm::Applications::Base>]
12
+ def available
13
+ ::EacConfig::Node.context.current.entries('*.avm_type').node_entries
14
+ .map { |ne| [ne.path.first, ne.value] }
15
+ end
16
+ end
17
+ end
18
+ end
@@ -7,8 +7,9 @@ module Avm
7
7
  module Registry
8
8
  require_sub __FILE__
9
9
  enable_listable
10
- lists.add_symbol :category, :applications, :application_stereotypes, :file_formats, :instances,
11
- :launcher_stereotypes, :runners, :scms, :source_generators, :sources
10
+ lists.add_symbol :category, :applications, :application_stereotypes, :config_objects,
11
+ :file_formats, :instances, :launcher_stereotypes, :runners, :scms,
12
+ :source_generators, :sources
12
13
 
13
14
  class << self
14
15
  enable_simple_cache
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.77.0'
4
+ VERSION = '0.78.0'
5
5
  end
@@ -12,9 +12,9 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.77'
15
+ s.add_dependency 'avm', '~> 0.78'
16
16
  s.add_dependency 'avm-eac_ruby_base1', '~> 0.30', '>= 0.30.3'
17
- s.add_dependency 'avm-eac_webapp_base0', '~> 0.18'
17
+ s.add_dependency 'avm-eac_webapp_base0', '~> 0.18', '>= 0.18.1'
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'
@@ -23,6 +23,10 @@ module Avm
23
23
  daemon_command(:start).system!
24
24
  end
25
25
 
26
+ def enabled?
27
+ daemon_command(:status).execute.fetch(:exit_code).zero?
28
+ end
29
+
26
30
  private
27
31
 
28
32
  def daemon_command(action)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRailsBase1
5
- VERSION = '0.9.0'
5
+ VERSION = '0.9.1'
6
6
  end
7
7
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.77'
15
+ s.add_dependency 'avm', '~> 0.78'
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
18
  s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.5'
@@ -16,6 +16,10 @@ module Avm
16
16
  apache_resource_change(__method__)
17
17
  end
18
18
 
19
+ def enabled?
20
+ instance.apache_resource.enabled?
21
+ end
22
+
19
23
  def disable
20
24
  apache_resource_change(__method__)
21
25
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacWebappBase0
5
- VERSION = '0.18.0'
5
+ VERSION = '0.18.1'
6
6
  end
7
7
  end
@@ -14,10 +14,10 @@ Gem::Specification.new do |s|
14
14
  s.bindir = 'exe'
15
15
  s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
16
16
 
17
- s.add_dependency 'aranha-parsers', '~> 0.19'
18
- s.add_dependency 'avm', '~> 0.76'
17
+ s.add_dependency 'aranha-parsers', '~> 0.21'
18
+ s.add_dependency 'avm', '~> 0.78'
19
19
  s.add_dependency 'avm-eac_ruby_base1', '~> 0.30', '>= 0.30.3'
20
- s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.4', '>= 0.4.3'
20
+ s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.5'
21
21
  s.add_dependency 'avm-files', '~> 0.6', '>= 0.6.2'
22
22
  s.add_dependency 'avm-git', '~> 0.13', '>= 0.13.3'
23
23
  s.add_dependency 'clipboard', '~> 1.3', '>= 1.3.6'
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Applications
9
+ class List
10
+ runner_with :help, :output
11
+
12
+ def run
13
+ infov 'Found', applications.count
14
+ run_output
15
+ end
16
+
17
+ def output_content
18
+ applications.map { |s| "#{s}\n" }.join
19
+ end
20
+
21
+ private
22
+
23
+ def applications_uncached
24
+ ::Avm::Registry.applications.available
25
+ .sort_by { |s| [s.id] }
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Applications
9
+ require_sub __FILE__
10
+ runner_with :help, :subcommands do
11
+ subcommands
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.151.1'
5
+ VERSION = '0.152.0'
6
6
  end
7
7
  end
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'addressable', '~> 2.8', '>= 2.8.1'
16
- s.add_dependency 'eac_ruby_utils', '~> 0.107'
15
+ s.add_dependency 'addressable', '~> 2.8', '>= 2.8.4'
16
+ s.add_dependency 'eac_ruby_utils', '~> 0.119'
17
17
 
18
18
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
19
19
  end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_config/entry_path'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module EacConfig
7
+ class Entries
8
+ require_sub __FILE__
9
+ enable_simple_cache
10
+ common_constructor :root_node, :path do
11
+ self.path = ::EacConfig::EntryPath.assert(path)
12
+ end
13
+
14
+ def to_s
15
+ "#{self.class}[RootNode: #{root_node}, Path: #{path}]"
16
+ end
17
+
18
+ private
19
+
20
+ # @return [Array<EacConfig::Entries>]
21
+ def node_entries_uncached
22
+ node_entries_from_root + node_entries_from_load_path
23
+ end
24
+
25
+ # @return [Array<EacConfig::Entries>]
26
+ def node_entries_from_load_path_uncached
27
+ root_node.recursive_loaded_nodes.flat_map { |loaded_node| loaded_node.self_entries(path) }
28
+ end
29
+
30
+ # @return [Array<EacConfig::Entries>]
31
+ def node_entries_from_root_uncached
32
+ root_node.self_entries(path)
33
+ end
34
+ end
35
+ end
@@ -58,5 +58,32 @@ module EacConfig
58
58
  def to_string
59
59
  parts.join(PART_SEPARATOR)
60
60
  end
61
+
62
+ # @param part [String]
63
+ # @return [EacConfig::EntryPath]
64
+ def with_first(part)
65
+ new_parts = parts.dup
66
+ new_parts.unshift(part)
67
+ self.class.new(new_parts)
68
+ end
69
+
70
+ # @return [EacConfig::EntryPath]
71
+ def without_first
72
+ new_parts = parts.dup
73
+ new_parts.shift
74
+ self.class.new(new_parts)
75
+ end
76
+
77
+ # @return [EacConfig::EntryPath]
78
+ def with_last(part)
79
+ self.class.new(parts + [part])
80
+ end
81
+
82
+ # @return [EacConfig::EntryPath]
83
+ def without_last
84
+ new_parts = parts.dup
85
+ new_parts.pop
86
+ self.class.new(new_parts)
87
+ end
61
88
  end
62
89
  end
@@ -18,6 +18,12 @@ module EacConfig
18
18
  end
19
19
  end
20
20
 
21
+ # @param path [EacConfig::EntryPath]
22
+ # @return [Array<EacConfig::Entries>]
23
+ def self_entries(_path)
24
+ []
25
+ end
26
+
21
27
  def url
22
28
  URI
23
29
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_config/entries'
3
4
  require 'eac_config/entry'
4
5
  require 'eac_config/entry_path'
5
6
  require 'eac_config/load_path'
@@ -20,10 +21,15 @@ module EacConfig
20
21
  attr_accessor :write_node
21
22
 
22
23
  common_concern do
23
- enable_abstract_methods
24
+ acts_as_abstract :self_entries
24
25
  include ::Comparable
25
26
  end
26
27
 
28
+ # @return [Array<EacConfig::Entries>]
29
+ def entries(path)
30
+ ::EacConfig::Entries.new(self, path)
31
+ end
32
+
27
33
  def entry(path)
28
34
  ::EacConfig::Entry.new(self, path)
29
35
  end
@@ -12,6 +12,7 @@ module EacConfig
12
12
  common_constructor :node, :path do
13
13
  self.path = ::EacConfig::EntryPath.assert(path)
14
14
  end
15
+ compare_by :node, :path
15
16
 
16
17
  abstract_methods :found?, :value, :value=
17
18
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacConfig
4
- VERSION = '0.12.0'
4
+ VERSION = '0.13.0'
5
5
  end