eac_tools 0.70.1 → 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 (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