eac_tools 0.70.1 → 0.72.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +26 -26
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/lib/avm/applications/base.rb +1 -0
  5. data/sub/avm/lib/avm/registry/applications.rb +7 -0
  6. data/sub/avm/lib/avm/registry/config_objects.rb +18 -0
  7. data/sub/avm/lib/avm/registry.rb +3 -2
  8. data/sub/avm-tools/avm-tools.gemspec +3 -3
  9. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +31 -0
  10. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +16 -0
  11. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  12. data/sub/eac_config/eac_config.gemspec +2 -2
  13. data/sub/eac_config/lib/eac_config/entries.rb +35 -0
  14. data/sub/eac_config/lib/eac_config/entry_path.rb +27 -0
  15. data/sub/eac_config/lib/eac_config/envvars_node.rb +6 -0
  16. data/sub/eac_config/lib/eac_config/node.rb +7 -1
  17. data/sub/eac_config/lib/eac_config/node_entry.rb +1 -0
  18. data/sub/eac_config/lib/eac_config/version.rb +1 -1
  19. data/sub/eac_config/lib/eac_config/yaml_file_node/self_entries.rb +72 -0
  20. data/sub/eac_config/lib/eac_config/yaml_file_node.rb +3 -0
  21. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec.rb +62 -26
  22. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1.yaml +5 -1
  23. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_1.yaml +2 -0
  24. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2/storage1_2_1.yaml +2 -0
  25. data/sub/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2.yaml +6 -0
  26. data/sub/eac_envs-http/eac_envs-http.gemspec +3 -3
  27. data/sub/eac_envs-http/lib/eac_envs/http/response/body.rb +5 -0
  28. data/sub/eac_envs-http/lib/eac_envs/http/version.rb +1 -1
  29. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/get.target.yaml +1 -1
  30. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/get_with_auth.target.yaml +1 -1
  31. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/post_array_body.target.yaml +1 -1
  32. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/post_string_body.target.yaml +1 -1
  33. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/put_hash_body.target.yaml +1 -1
  34. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/put_with_file.target.yaml +1 -1
  35. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/root.target.yaml +1 -1
  36. data/sub/eac_envs-http/spec/spec_helper/request_builder.rb +1 -0
  37. data/sub/eac_rest/eac_rest.gemspec +2 -2
  38. data/sub/eac_rest/lib/eac_rest/api.rb +1 -1
  39. data/sub/eac_rest/lib/eac_rest/version.rb +1 -1
  40. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/get.target.yaml +1 -1
  41. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/get_with_auth.target.yaml +1 -1
  42. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/post_array_body.target.yaml +1 -1
  43. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/post_string_body.target.yaml +1 -1
  44. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/put_hash_body.target.yaml +1 -1
  45. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/put_with_file.target.yaml +1 -1
  46. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/root.target.yaml +1 -1
  47. data/sub/eac_rest/spec/spec_helper/request_builder.rb +2 -1
  48. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_instance_method.rb +34 -0
  49. data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry.rb +0 -1
  50. data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +7 -15
  51. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_instance_method.rb +10 -0
  52. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  53. data/sub/eac_ruby_utils/lib/eac_ruby_utils/wildcards.rb +26 -0
  54. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/wildcards_spec.rb +27 -0
  55. metadata +15 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a4db50c78d5717141a92f0bf2836e5e019afe0da8fa52f40999ac5a214e21d8
4
- data.tar.gz: 8398de9a43cdbd4c3757836fa352de365f80b7f1aa2d9bb264cabe15095e7bbe
3
+ metadata.gz: 8f6313738261dc5ddc1c3c7a92ccaed70d82b98d0b2b776a46b667781ebed872
4
+ data.tar.gz: a059376b3323ba30386875cd12129c1c590007c3123f3c7332eab317f3ee49a1
5
5
  SHA512:
6
- metadata.gz: 81ac5304d8e40cdf57563d35aaad5205b66782e756c269f9260791c1001e1ab210b19bc4eac67769da6546ae9935030a29fd1714ff23d1854123082974adb239
7
- data.tar.gz: 6fbe5c417b970d88be91efce68db390c861a6d34f9178500352576873c614dc8e93cc193307350fb89473f68d3ff1ac3d7b01c026d63833e2e234b78f1ee5558
6
+ metadata.gz: 628e59eb835b0778eeaba3c040c982cbc86ecaffc8d43a37c0431b087474e2d5ef27be9c73f4edd7d740765f3c68cf7ff07150911b9c0c4559a82dc830b4e1f6
7
+ data.tar.gz: 9dc783ce0fd9b07daff7889fce3a71dafc31518e0244af14b1667a2049db0e4352d2cf9c13ffed815effd141462950493510ba91af593425878f405e3696258b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.70.1)
4
+ eac_tools (0.72.0)
5
5
  avm (~> 0.78)
6
6
  avm-eac_asciidoctor_base0 (~> 0.19)
7
7
  avm-eac_generic_base0 (~> 0.12)
@@ -17,8 +17,8 @@ PATH
17
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
@@ -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)
@@ -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.6)
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)
@@ -333,7 +333,7 @@ GEM
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)
@@ -348,8 +348,8 @@ GEM
348
348
  racc
349
349
  parslet (2.0.0)
350
350
  public_suffix (5.0.1)
351
- racc (1.7.0)
352
- rack (3.0.7)
351
+ racc (1.7.1)
352
+ rack (3.0.8)
353
353
  rainbow (3.1.1)
354
354
  rchardet (1.8.0)
355
355
  rexml (3.2.5)
@@ -366,7 +366,7 @@ GEM
366
366
  rspec-mocks (3.12.5)
367
367
  diff-lcs (>= 1.2.0, < 2.0)
368
368
  rspec-support (~> 3.12.0)
369
- rspec-support (3.12.0)
369
+ rspec-support (3.12.1)
370
370
  rubocop (0.80.1)
371
371
  jaro_winkler (~> 1.5.1)
372
372
  parallel (~> 1.10)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.70.1'
4
+ VERSION = '0.72.0'
5
5
  end
@@ -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
@@ -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
@@ -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
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_config/entry_path'
4
+ require 'eac_config/yaml_file_node/entry'
5
+ require 'eac_ruby_utils/core_ext'
6
+ require 'eac_ruby_utils/wildcards'
7
+
8
+ module EacConfig
9
+ class YamlFileNode
10
+ class SelfEntries
11
+ acts_as_instance_method
12
+ common_constructor :node, :path do
13
+ self.path = ::EacConfig::EntryPath.assert(path)
14
+ end
15
+
16
+ # @return [Array<EacConfig::YamlFileNode>]
17
+ def result
18
+ head_node.result.map { |found_path| ::EacConfig::YamlFileNode::Entry.new(node, found_path) }
19
+ end
20
+
21
+ private
22
+
23
+ # @return [DataNode]
24
+ def head_node
25
+ DataNode.new(node.data, ::EacConfig::EntryPath.new, path)
26
+ end
27
+
28
+ class DataNode
29
+ common_constructor :data_node, :path_from, :path_to do
30
+ self.data_node = data_node.stringify_keys if data_node.is_a?(::Hash)
31
+ end
32
+
33
+ # @return [DataNode]
34
+ def child(child_key)
35
+ self.class.new(data_node.fetch(child_key), path_from.with_last(child_key),
36
+ path_to.without_first)
37
+ end
38
+
39
+ def children
40
+ return [] unless data_node.is_a?(::Hash)
41
+
42
+ data_node.keys.select { |k| key_matcher.match?(k) }.map { |k| child(k) }
43
+ end
44
+
45
+ # @return [Symbol]
46
+ def key
47
+ path_to.first
48
+ end
49
+
50
+ # @return [EacRubyUtils::Wildcards]
51
+ def key_matcher
52
+ @key_matcher ||= ::EacRubyUtils::Wildcards.new(key)
53
+ end
54
+
55
+ # @return [Array<EacConfig::EntryPath>]
56
+ def result
57
+ (path_to.empty? ? result_from_self : result_from_children)
58
+ end
59
+
60
+ # @return [Array<EacConfig::EntryPath>]
61
+ def result_from_self
62
+ [path_from]
63
+ end
64
+
65
+ # @return [Array<EacConfig::EntryPath>]
66
+ def result_from_children
67
+ children.flat_map(&:result)
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -20,6 +20,7 @@ module EacConfig
20
20
  common_constructor :path do
21
21
  self.path = path.to_pathname
22
22
  end
23
+ compare_by :path
23
24
 
24
25
  def persist_data(new_data)
25
26
  path.parent.mkpath
@@ -47,5 +48,7 @@ module EacConfig
47
48
 
48
49
  r.is_a?(::Hash) ? r : {}
49
50
  end
51
+
52
+ require_sub __FILE__, require_mode: :kernel
50
53
  end
51
54
  end
@@ -12,41 +12,77 @@ RSpec.describe ::EacConfig::YamlFileNode do
12
12
  end
13
13
 
14
14
  let(:fixtures_dir) { ::Pathname.new(__dir__).join('yaml_file_node_spec_files') }
15
- let(:target_dir) { temp_copy(fixtures_dir) }
16
- let(:yaml_file_path) do
17
- r = target_dir.join('storage1.yaml')
18
- r.write(r.read.gsub('%%STORAGE1_2_ABSOLUTE_PATH%%',
19
- target_dir.join('storage1_2.yaml').expand_path.to_path))
20
- r
15
+ let(:instance) { storage1 }
16
+
17
+ storages.each do |storage|
18
+ let(storage.key) { described_class.new(fixtures_dir.join(storage.subpath)) }
21
19
  end
22
- let(:instance) { described_class.new(yaml_file_path) }
23
20
 
24
- context 'with common entry' do
25
- let(:entry) { instance.entry('common') }
21
+ describe '#entry' do
22
+ context 'with common entry' do
23
+ let(:entry) { instance.entry('common') }
26
24
 
27
- it { expect(entry.value).to eq('AAA') }
28
- it { expect(entry.found_node).to eq(instance) }
29
- it { expect(entry).to be_found }
30
- end
25
+ it { expect(entry.value).to eq('AAA') }
26
+ it { expect(entry.found_node).to eq(instance) }
27
+ it { expect(entry).to be_found }
28
+ end
31
29
 
32
- storages.each do |storage|
33
- context "with entry in loaded path \"#{storage.subpath}\"" do
34
- let(:entry) { instance.entry(storage.key) }
35
- let(:storage_node) { described_class.new(target_dir.join(storage.subpath)) }
30
+ storages.each do |storage|
31
+ context "with entry in loaded path \"#{storage.subpath}\"" do
32
+ let(:entry) { instance.entry(storage.key) }
33
+ let(:storage_node) { send(storage.key) }
34
+
35
+ it { expect(entry).to be_a(::EacConfig::Entry) }
36
+ it { expect(entry).to be_found }
37
+ it { expect(entry.value).to eq(storage.key) }
38
+ it { expect(entry.found_node.url).to eq(storage_node.url) }
39
+ end
40
+ end
41
+
42
+ context 'with not existing entry' do
43
+ let(:entry) { instance.entry('no_exist') }
36
44
 
37
45
  it { expect(entry).to be_a(::EacConfig::Entry) }
38
- it { expect(entry).to be_found }
39
- it { expect(entry.value).to eq(storage.key) }
40
- it { expect(entry.found_node.url).to eq(storage_node.url) }
46
+ it { expect(entry.value).to eq(nil) }
47
+ it { expect(entry.found_node).to eq(nil) }
48
+ it { expect(entry).not_to be_found }
41
49
  end
42
50
  end
43
51
 
44
- context 'with not existing entry' do
45
- let(:entry) { instance.entry('no_exist') }
52
+ describe '#entries' do
53
+ context 'when search path is "common"' do
54
+ let(:path) { 'common' }
55
+ let(:actual) { instance.entries(path).node_entries }
56
+ let(:expected) { [::EacConfig::YamlFileNode::Entry.new(storage1, path)] }
57
+
58
+ it { expect(actual).to eq(expected) }
59
+ end
60
+
61
+ context 'when search path is "same.path"' do
62
+ let(:path) { 'same.path' }
63
+ let(:actual) { instance.entries(path).node_entries }
64
+ let(:expected) do
65
+ [storage1_1, storage1_2_1].map do |n|
66
+ ::EacConfig::YamlFileNode::Entry.new(n, 'same.path')
67
+ end
68
+ end
46
69
 
47
- it { expect(entry).to be_a(::EacConfig::Entry) }
48
- it { expect(entry.value).to eq(nil) }
49
- it { expect(entry.found_node).to eq(nil) }
50
- it { expect(entry).not_to be_found }
70
+ it { expect(actual).to eq(expected) }
71
+ end
72
+
73
+ context 'when search path is "*.search_me"' do
74
+ let(:path) { '*.search_me' }
75
+ let(:actual) { instance.entries(path).node_entries }
76
+ let(:expected) do
77
+ [
78
+ [storage1, 'storage1_a'], [storage1, 'storage1_b'],
79
+ [storage1_2, 'storage1_2_a'], [storage1_2, 'storage1_2_b'], [storage1_2, 'storage1_2_c']
80
+ ].map do |args|
81
+ ::EacConfig::YamlFileNode::Entry.new(args[0], args[1] + '.search_me')
82
+ end
83
+ end
84
+
85
+ it { expect(actual).to eq(expected) }
86
+ end
51
87
  end
52
88
  end
@@ -2,5 +2,9 @@
2
2
  common: AAA
3
3
  load_path:
4
4
  - storage1_1.yaml
5
- - %%STORAGE1_2_ABSOLUTE_PATH%%
5
+ - storage1_2.yaml
6
6
  storage1: storage1
7
+ storage1_a:
8
+ search_me: 1_a
9
+ storage1_b:
10
+ search_me: 1_b
@@ -1,2 +1,4 @@
1
1
  ---
2
2
  storage1_1: storage1_1
3
+ same:
4
+ path: SAME_PATH_1_1
@@ -1,2 +1,4 @@
1
1
  ---
2
2
  storage1_2_1: storage1_2_1
3
+ same:
4
+ path: SAME_PATH_1_2_1
@@ -2,3 +2,9 @@
2
2
  load_path:
3
3
  - ./storage1_2/storage1_2_1.yaml
4
4
  storage1_2: storage1_2
5
+ storage1_2_a:
6
+ search_me: 1_2_a
7
+ storage1_2_b:
8
+ search_me: 1_2_a
9
+ storage1_2_c:
10
+ search_me: 1_2_a
@@ -13,12 +13,12 @@ Gem::Specification.new do |s|
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
15
  s.add_dependency 'eac_fs', '~> 0.16'
16
- s.add_dependency 'eac_ruby_utils', '~> 0.116'
17
- s.add_dependency 'faraday', '~> 2.7', '>= 2.7.4'
16
+ s.add_dependency 'eac_ruby_utils', '~> 0.117', '>= 0.117.1'
17
+ s.add_dependency 'faraday', '~> 2.7', '>= 2.7.6'
18
18
  s.add_dependency 'faraday-follow_redirects', '~> 0.3'
19
19
  s.add_dependency 'faraday-gzip', '~> 0.1'
20
20
  s.add_dependency 'faraday-multipart', '~> 1.0', '>= 1.0.4'
21
- s.add_dependency 'faraday-retry', '~> 2.1'
21
+ s.add_dependency 'faraday-retry', '~> 2.2'
22
22
 
23
23
  s.add_development_dependency 'aranha-parsers', '~> 0.17'
24
24
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5', '>= 0.5.1'
@@ -34,6 +34,11 @@ module EacEnvs
34
34
  body_str
35
35
  end
36
36
 
37
+ # @param path [Pathname]
38
+ def write_body(path)
39
+ ::File.open(path, 'wb') { |fp| fp.write(performed.body) }
40
+ end
41
+
37
42
  private
38
43
 
39
44
  def body_data_from_application_json
@@ -2,6 +2,6 @@
2
2
 
3
3
  module EacEnvs
4
4
  module Http
5
- VERSION = '0.3.2'
5
+ VERSION = '0.4.0'
6
6
  end
7
7
  end
@@ -4,6 +4,6 @@ method: GET
4
4
  uri: "/path/to/service?field1=value1&field2=value2"
5
5
  body:
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacEnvs::Http
8
8
  accept: application/json
9
9
  accept-encoding: gzip,deflate
@@ -4,7 +4,7 @@ method: GET
4
4
  uri: "/path/to/service?field1=value1&field2=value2"
5
5
  body:
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacEnvs::Http
8
8
  accept: application/json
9
9
  authorization: Basic dGhlX3VzZXI6dGhlX3NlY3JldA==
10
10
  accept-encoding: gzip,deflate
@@ -4,7 +4,7 @@ method: POST
4
4
  uri: "/path/to/service"
5
5
  body: field1=value1&field1=value3&field2=value2
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacEnvs::Http
8
8
  content-type: application/x-www-form-urlencoded
9
9
  accept-encoding: gzip,deflate
10
10
  accept: "*/*"
@@ -4,7 +4,7 @@ method: POST
4
4
  uri: "/path/to/service"
5
5
  body: field1=value1&field2=value2
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacEnvs::Http
8
8
  content-type: application/x-www-form-urlencoded
9
9
  accept-encoding: gzip,deflate
10
10
  accept: "*/*"
@@ -4,7 +4,7 @@ method: PUT
4
4
  uri: "/path/to/service"
5
5
  body: field1=value1&field2=value2
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacEnvs::Http
8
8
  content-type: application/x-www-form-urlencoded
9
9
  accept-encoding: gzip,deflate
10
10
  accept: "*/*"
@@ -6,7 +6,7 @@ body: "-------------RubyMultipartPost-0123456789abcdef0123456789abcdef\r\nConten
6
6
  form-data; name=\"field1\"; filename=\"basename\"\r\nContent-Length: 6\r\nContent-Type:
7
7
  text/plain\r\nContent-Transfer-Encoding: binary\r\n\r\nvalue1\r\n-------------RubyMultipartPost-0123456789abcdef0123456789abcdef--\r\n"
8
8
  headers:
9
- user-agent: Faraday v2.7.4
9
+ user-agent: EacEnvs::Http
10
10
  content-type: multipart/form-data; boundary=-----------RubyMultipartPost-0123456789abcdef0123456789abcdef
11
11
  content-length: '290'
12
12
  accept-encoding: gzip,deflate
@@ -4,6 +4,6 @@ method: GET
4
4
  uri: "/"
5
5
  body:
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacEnvs::Http
8
8
  accept-encoding: gzip,deflate
9
9
  accept: "*/*"
@@ -26,6 +26,7 @@ class RequestBuilder
26
26
  r = %i[verb headers].inject(new_request) do |a, e|
27
27
  data[e].if_present(a) { |v| a.send(e, v) }
28
28
  end
29
+ r = r.header('user-agent', 'EacEnvs::Http')
29
30
  result_body_data(result_auth(r))
30
31
  end
31
32
 
@@ -12,9 +12,9 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'eac_envs-http', '~> 0.3', '>= 0.3.1'
15
+ s.add_dependency 'eac_envs-http', '~> 0.4'
16
16
  s.add_dependency 'eac_fs', '~> 0.16'
17
- s.add_dependency 'eac_ruby_utils', '~> 0.112'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.117', '>= 0.117.1'
18
18
 
19
19
  s.add_development_dependency 'aranha-parsers', '~> 0.15'
20
20
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
@@ -32,7 +32,7 @@ module EacRest
32
32
 
33
33
  def request_json(service_url_suffix, headers = {}, &body_data_proc)
34
34
  request(service_url_suffix, headers.merge('Accept' => 'application/json')) do |body_data|
35
- r = ::JSON.parse(body_data)
35
+ r = body_data.is_a?(::Enumerable) ? body_data : ::JSON.parse(body_data)
36
36
  r = body_data_proc.call(r) if body_data_proc
37
37
  r
38
38
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRest
4
- VERSION = '0.9.0'
4
+ VERSION = '0.9.1'
5
5
  end
@@ -4,6 +4,6 @@ method: GET
4
4
  uri: "/path/to/service?field1=value1&field2=value2"
5
5
  body:
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacRest
8
8
  accept: application/json
9
9
  accept-encoding: gzip,deflate
@@ -4,7 +4,7 @@ method: GET
4
4
  uri: "/path/to/service?field1=value1&field2=value2"
5
5
  body:
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacRest
8
8
  accept: application/json
9
9
  authorization: Basic dGhlX3VzZXI6dGhlX3NlY3JldA==
10
10
  accept-encoding: gzip,deflate
@@ -4,7 +4,7 @@ method: POST
4
4
  uri: "/path/to/service"
5
5
  body: field1=value1&field1=value3&field2=value2
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacRest
8
8
  content-type: application/x-www-form-urlencoded
9
9
  accept-encoding: gzip,deflate
10
10
  accept: "*/*"
@@ -4,7 +4,7 @@ method: POST
4
4
  uri: "/path/to/service"
5
5
  body: field1=value1&field2=value2
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacRest
8
8
  content-type: application/x-www-form-urlencoded
9
9
  accept-encoding: gzip,deflate
10
10
  accept: "*/*"
@@ -4,7 +4,7 @@ method: PUT
4
4
  uri: "/path/to/service"
5
5
  body: field1=value1&field2=value2
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacRest
8
8
  content-type: application/x-www-form-urlencoded
9
9
  accept-encoding: gzip,deflate
10
10
  accept: "*/*"
@@ -6,7 +6,7 @@ body: "-------------RubyMultipartPost-0123456789abcdef0123456789abcdef\r\nConten
6
6
  form-data; name=\"field1\"; filename=\"basename\"\r\nContent-Length: 6\r\nContent-Type:
7
7
  text/plain\r\nContent-Transfer-Encoding: binary\r\n\r\nvalue1\r\n-------------RubyMultipartPost-0123456789abcdef0123456789abcdef--\r\n"
8
8
  headers:
9
- user-agent: Faraday v2.7.4
9
+ user-agent: EacRest
10
10
  content-type: multipart/form-data; boundary=-----------RubyMultipartPost-0123456789abcdef0123456789abcdef
11
11
  content-length: '290'
12
12
  accept-encoding: gzip,deflate
@@ -4,6 +4,6 @@ method: GET
4
4
  uri: "/"
5
5
  body:
6
6
  headers:
7
- user-agent: Faraday v2.7.4
7
+ user-agent: EacRest
8
8
  accept-encoding: gzip,deflate
9
9
  accept: "*/*"
@@ -17,10 +17,11 @@ class RequestBuilder
17
17
  self.data = data.with_indifferent_access
18
18
  end
19
19
 
20
- def result
20
+ def result # rubocop:disable Metrics/AbcSize
21
21
  r = %i[verb headers].inject(selected_api.request(data.fetch(:url_suffix))) do |a, e|
22
22
  data[e].if_present(a) { |v| a.send(e, v) }
23
23
  end
24
+ r = r.header('user-agent', 'EacRest')
24
25
  data[:body_data].if_present(r) { |v| r.body_data(build_body_data(v)) }
25
26
  end
26
27
 
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/core_ext/module/introspection'
4
+ require 'eac_ruby_utils/patches/class/common_constructor'
5
+ require 'eac_ruby_utils/patches/module/module_parent'
6
+ require 'eac_ruby_utils/patches/string/inflector'
7
+
8
+ module EacRubyUtils
9
+ class ActsAsInstanceMethod
10
+ common_constructor :method_class
11
+
12
+ # @param sender_module [Module, nil]
13
+ # @return [self]
14
+ def setup(sender_module = nil)
15
+ sender_module ||= default_sender_module
16
+ the_setup = self
17
+ sender_module.define_method(method_name) do |*args, &block|
18
+ the_setup.method_class.new(self, *args, &block).result
19
+ end
20
+
21
+ self
22
+ end
23
+
24
+ # @return [String]
25
+ def method_name
26
+ method_class.name.demodulize.underscore.variableize
27
+ end
28
+
29
+ # @return [Module]
30
+ def default_sender_module
31
+ method_class.module_parent
32
+ end
33
+ end
34
+ end
@@ -29,7 +29,6 @@ module EacRubyUtils
29
29
  # @return [Array<EacRubyUtils::GemsRegistry::Gem>]
30
30
  def all_gems
31
31
  ::Gem::Specification.map { |gemspec| ::EacRubyUtils::GemsRegistry::Gem.new(self, gemspec) }
32
- .sort
33
32
  end
34
33
  end
35
34
  end
@@ -1,10 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/core_ext/module/introspection'
3
+ require 'eac_ruby_utils/acts_as_instance_method'
4
4
  require 'eac_ruby_utils/patches/class/common_constructor'
5
5
  require 'eac_ruby_utils/patches/module/common_concern'
6
- require 'eac_ruby_utils/patches/module/module_parent'
7
- require 'eac_ruby_utils/patches/string/inflector'
8
6
 
9
7
  module EacRubyUtils
10
8
  module MethodClass
@@ -12,24 +10,18 @@ module EacRubyUtils
12
10
  ::EacRubyUtils::MethodClass::Setup.new(self)
13
11
  end
14
12
 
15
- class Setup
16
- common_constructor :method_class, :static_method, default: [false] do
13
+ class Setup < ::EacRubyUtils::ActsAsInstanceMethod
14
+ common_constructor :method_class, :static_method, default: [false],
15
+ super_args: -> { [method_class] } do
17
16
  perform
18
17
  end
19
18
 
20
19
  def perform
21
- the_setup = self
22
- sender_module.define_method(method_name) do |*args, &block|
23
- the_setup.method_class.new(self, *args, &block).result
24
- end
20
+ setup
25
21
  end
26
22
 
27
- def method_name
28
- method_class.name.demodulize.underscore.variableize
29
- end
30
-
31
- def sender_module
32
- r = method_class.module_parent
23
+ def default_sender_module
24
+ r = super
33
25
  r = r.singleton_class if static_method
34
26
  r
35
27
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/acts_as_instance_method'
4
+
5
+ class Module
6
+ # @return [EacRubyUtils::ActsAsInstanceMethod]
7
+ def acts_as_instance_method
8
+ ::EacRubyUtils::ActsAsInstanceMethod.new(self).setup
9
+ end
10
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.117.1'
4
+ VERSION = '0.119.0'
5
5
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacRubyUtils
4
+ # The `Wildcards` class provides pattern matching with wildcards using regular expressions.
5
+ class Wildcards
6
+ # Initializes a new instance of the `Wildcards` class with the specified pattern.
7
+ #
8
+ # @param pattern [String] The pattern to match against.
9
+ def initialize(pattern)
10
+ @pattern = pattern
11
+ end
12
+
13
+ # Matches the given string against the pattern.
14
+ #
15
+ # @param string [String] The string to match.
16
+ # @return [Boolean] Returns `true` if the string matches the pattern, otherwise `false`.
17
+ delegate :match?, to: :regex
18
+
19
+ private
20
+
21
+ # @return [Regexp]
22
+ def regex
23
+ ::Regexp.new("^#{::Regexp.escape(@pattern).gsub('\*', '.*').gsub('\?', '.?')}$")
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/wildcards'
4
+
5
+ ::RSpec.describe ::EacRubyUtils::Wildcards do
6
+ describe '#match' do
7
+ {
8
+ 'h*llo' => { 'hello' => true, 'hallo' => true, 'hxllo' => true, 'hillo' => true },
9
+ 'w?rld' => { 'world' => true, 'warld' => true, 'wzzrld' => false },
10
+ 'h*l?o' => { 'hello' => true, 'hallo' => true, 'hxxllo' => true, 'hilbbo' => false },
11
+ '' => { '' => true, 'hello' => false },
12
+ 'hello' => { '' => false, 'hello' => true }
13
+ }.each do |pattern, examples|
14
+ context "when pattern is '#{pattern}'" do
15
+ let(:instance) { described_class.new(pattern) }
16
+
17
+ examples.each do |string, expected_result|
18
+ context "when string is \"#{string}\"" do # rubocop:disable RSpec/NestedGroups
19
+ it do
20
+ expect(instance.match?(string)).to eq(expected_result)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.70.1
4
+ version: 0.72.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-09 00:00:00.000000000 Z
11
+ date: 2023-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -292,40 +292,28 @@ dependencies:
292
292
  requirements:
293
293
  - - "~>"
294
294
  - !ruby/object:Gem::Version
295
- version: '0.151'
296
- - - ">="
297
- - !ruby/object:Gem::Version
298
- version: 0.151.1
295
+ version: '0.152'
299
296
  type: :runtime
300
297
  prerelease: false
301
298
  version_requirements: !ruby/object:Gem::Requirement
302
299
  requirements:
303
300
  - - "~>"
304
301
  - !ruby/object:Gem::Version
305
- version: '0.151'
306
- - - ">="
307
- - !ruby/object:Gem::Version
308
- version: 0.151.1
302
+ version: '0.152'
309
303
  - !ruby/object:Gem::Dependency
310
304
  name: eac_ruby_utils
311
305
  requirement: !ruby/object:Gem::Requirement
312
306
  requirements:
313
307
  - - "~>"
314
308
  - !ruby/object:Gem::Version
315
- version: '0.117'
316
- - - ">="
317
- - !ruby/object:Gem::Version
318
- version: 0.117.1
309
+ version: '0.119'
319
310
  type: :runtime
320
311
  prerelease: false
321
312
  version_requirements: !ruby/object:Gem::Requirement
322
313
  requirements:
323
314
  - - "~>"
324
315
  - !ruby/object:Gem::Version
325
- version: '0.117'
326
- - - ">="
327
- - !ruby/object:Gem::Version
328
- version: 0.117.1
316
+ version: '0.119'
329
317
  - !ruby/object:Gem::Dependency
330
318
  name: eac_ruby_gem_support
331
319
  requirement: !ruby/object:Gem::Requirement
@@ -1018,6 +1006,8 @@ files:
1018
1006
  - sub/avm-tools/lib/avm/tools/runner.rb
1019
1007
  - sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb
1020
1008
  - sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb
1009
+ - sub/avm-tools/lib/avm/tools/runner/applications.rb
1010
+ - sub/avm-tools/lib/avm/tools/runner/applications/list.rb
1021
1011
  - sub/avm-tools/lib/avm/tools/runner/config.rb
1022
1012
  - sub/avm-tools/lib/avm/tools/runner/config/load_path.rb
1023
1013
  - sub/avm-tools/lib/avm/tools/runner/files.rb
@@ -1209,6 +1199,7 @@ files:
1209
1199
  - sub/avm/lib/avm/registry/application_stereotypes/build_available.rb
1210
1200
  - sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb
1211
1201
  - sub/avm/lib/avm/registry/applications.rb
1202
+ - sub/avm/lib/avm/registry/config_objects.rb
1212
1203
  - sub/avm/lib/avm/registry/file_formats.rb
1213
1204
  - sub/avm/lib/avm/registry/from_gems.rb
1214
1205
  - sub/avm/lib/avm/registry/instances.rb
@@ -1398,6 +1389,7 @@ files:
1398
1389
  - sub/eac_config/Gemfile
1399
1390
  - sub/eac_config/eac_config.gemspec
1400
1391
  - sub/eac_config/lib/eac_config.rb
1392
+ - sub/eac_config/lib/eac_config/entries.rb
1401
1393
  - sub/eac_config/lib/eac_config/entry.rb
1402
1394
  - sub/eac_config/lib/eac_config/entry/not_found_error.rb
1403
1395
  - sub/eac_config/lib/eac_config/entry_path.rb
@@ -1422,6 +1414,7 @@ files:
1422
1414
  - sub/eac_config/lib/eac_config/version.rb
1423
1415
  - sub/eac_config/lib/eac_config/yaml_file_node.rb
1424
1416
  - sub/eac_config/lib/eac_config/yaml_file_node/entry.rb
1417
+ - sub/eac_config/lib/eac_config/yaml_file_node/self_entries.rb
1425
1418
  - sub/eac_config/spec/lib/eac_config/entry_path_spec.rb
1426
1419
  - sub/eac_config/spec/lib/eac_config/envvars_node/entry_spec.rb
1427
1420
  - sub/eac_config/spec/lib/eac_config/envvars_node_spec.rb
@@ -1808,6 +1801,7 @@ files:
1808
1801
  - sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/hash_accessor.rb
1809
1802
  - sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/instance_methods.rb
1810
1803
  - sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/set_accessor.rb
1804
+ - sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_instance_method.rb
1811
1805
  - sub/eac_ruby_utils/lib/eac_ruby_utils/arguments_consumer.rb
1812
1806
  - sub/eac_ruby_utils/lib/eac_ruby_utils/bit.rb
1813
1807
  - sub/eac_ruby_utils/lib/eac_ruby_utils/bit_array.rb
@@ -1912,6 +1906,7 @@ files:
1912
1906
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb
1913
1907
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_abstract.rb
1914
1908
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_immutable.rb
1909
+ - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_instance_method.rb
1915
1910
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb
1916
1911
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/compare_by.rb
1917
1912
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb
@@ -1981,6 +1976,7 @@ files:
1981
1976
  - sub/eac_ruby_utils/lib/eac_ruby_utils/struct.rb
1982
1977
  - sub/eac_ruby_utils/lib/eac_ruby_utils/unimplemented_method_error.rb
1983
1978
  - sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb
1979
+ - sub/eac_ruby_utils/lib/eac_ruby_utils/wildcards.rb
1984
1980
  - sub/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb
1985
1981
  - sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_abstract_spec.rb
1986
1982
  - sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_immutable/array_accessor_spec.rb
@@ -2049,6 +2045,7 @@ files:
2049
2045
  - sub/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb
2050
2046
  - sub/eac_ruby_utils/spec/lib/eac_ruby_utils/static_method_class_spec.rb
2051
2047
  - sub/eac_ruby_utils/spec/lib/eac_ruby_utils/struct_spec.rb
2048
+ - sub/eac_ruby_utils/spec/lib/eac_ruby_utils/wildcards_spec.rb
2052
2049
  - sub/eac_ruby_utils/spec/lib/eac_ruby_utils/yaml_spec.rb
2053
2050
  - sub/eac_ruby_utils/spec/locales/pt-BR.yml
2054
2051
  - sub/eac_ruby_utils/spec/rubocop_check_spec.rb