eac_tools 0.70.0 → 0.72.0

Sign up to get free protection for your applications and to get access to all the features.
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