eac_tools 0.77.1 → 0.79.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +38 -29
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +3 -3
  5. data/sub/avm/lib/avm/application_scms/base.rb +28 -0
  6. data/sub/avm/lib/avm/application_scms.rb +9 -0
  7. data/sub/avm/lib/avm/applications/base/local_instance.rb +31 -0
  8. data/sub/avm/lib/avm/applications/base/local_source.rb +30 -0
  9. data/sub/avm/lib/avm/applications/base/naming.rb +28 -0
  10. data/sub/avm/lib/avm/applications/base/organization.rb +29 -0
  11. data/sub/avm/lib/avm/applications/base/scm.rb +27 -0
  12. data/sub/avm/lib/avm/applications/base.rb +9 -39
  13. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +16 -1
  14. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +2 -1
  15. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +2 -1
  16. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +4 -19
  17. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +1 -0
  18. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +46 -0
  19. data/sub/avm/lib/avm/registry/application_scms.rb +15 -0
  20. data/sub/avm/lib/avm/registry.rb +3 -3
  21. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +2 -2
  22. data/sub/avm/lib/avm/version.rb +1 -1
  23. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  24. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +11 -0
  25. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +28 -0
  26. data/sub/avm-eac_github_base0/Gemfile +8 -0
  27. data/sub/avm-eac_github_base0/avm-eac_github_base0.gemspec +21 -0
  28. data/sub/avm-eac_github_base0/lib/avm/eac_github_base0/api/entity.rb +24 -0
  29. data/sub/avm-eac_github_base0/lib/avm/eac_github_base0/api/organization.rb +19 -0
  30. data/sub/avm-eac_github_base0/lib/avm/eac_github_base0/api/repository.rb +14 -0
  31. data/sub/avm-eac_github_base0/lib/avm/eac_github_base0/api/root.rb +20 -0
  32. data/sub/avm-eac_github_base0/lib/avm/eac_github_base0/api.rb +18 -0
  33. data/sub/avm-eac_github_base0/lib/avm/eac_github_base0/application_scms/base.rb +13 -0
  34. data/sub/avm-eac_github_base0/lib/avm/eac_github_base0/application_scms.rb +11 -0
  35. data/sub/avm-eac_github_base0/lib/avm/eac_github_base0/version.rb +7 -0
  36. data/sub/avm-eac_github_base0/lib/avm/eac_github_base0.rb +9 -0
  37. data/sub/avm-eac_github_base0/spec/avm/eac_github_base0/application_scms/base_spec.rb +7 -0
  38. data/sub/avm-eac_github_base0/spec/rubocop_spec.rb +3 -0
  39. data/sub/avm-eac_github_base0/spec/spec_helper.rb +4 -0
  40. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +2 -2
  41. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +2 -2
  42. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +3 -1
  43. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +1 -1
  44. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +1 -1
  45. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update_dependency_requirements.rb +4 -1
  46. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  47. data/sub/avm-tools/avm-tools.gemspec +2 -2
  48. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +35 -0
  49. data/sub/avm-tools/lib/avm/tools/runner/application.rb +26 -0
  50. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  51. data/sub/eac_cli/lib/eac_cli/config/entry.rb +2 -1
  52. data/sub/eac_config/eac_config.gemspec +2 -2
  53. data/sub/eac_config/lib/eac_config/version.rb +1 -1
  54. metadata +60 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f517b6d6540d86de71eb838d6bb96479c1991ec194ca1d60b420e3d7318f7f4
4
- data.tar.gz: be11c1bbf741c6c9a39e6108c312f9cc2d11a75e924da7b59be2a5ffb4c569e6
3
+ metadata.gz: 90311d99a8fde34e9e085138cecf3eb3eaec19cd6db5df22b900ca73a058a568
4
+ data.tar.gz: '082caa63292c671845f74e8a913054ad212894aa117ddc7d3f7cd2ff65885bdb'
5
5
  SHA512:
6
- metadata.gz: bf8108ddd620e8ca590551490a742d1f3bbf35090f3df2e5b11bcbff00c6c8625720468f13dd710a097e38cb815e5f012c2d93759d8facc8e62a82defdfba5ba
7
- data.tar.gz: f8ef025927b82d16f5ab1f9ae34f2e60d648923a9a748fb93c466d8846523204a53a0f8344c47303c9c1bd5caaaa98b4c5c8bb129f1fe5962088cef5a839eba9
6
+ metadata.gz: 392a2ae0e2f9688a644ae606bd2b6e8c82e06a2aa0e9f30138972866f15f29dd045533b5ebd59303b2613ce43bebdfc3903535727a5e2f2b48c410c5a6b04168
7
+ data.tar.gz: 99306a1b0f26497d5bebb657c766c912acc347be451a23eea152c0e73f9f5b9e1fe31c39dc1eed32faebbeebf1df39f6cf47d86759b26c902222b217c1c5743c
data/Gemfile.lock CHANGED
@@ -1,23 +1,24 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.77.1)
5
- avm (~> 0.79)
4
+ eac_tools (0.79.0)
5
+ avm (~> 0.81)
6
6
  avm-eac_asciidoctor_base0 (~> 0.19)
7
7
  avm-eac_generic_base0 (~> 0.12, >= 0.12.1)
8
+ avm-eac_github_base0 (~> 0.2)
8
9
  avm-eac_latex_base0 (~> 0.3, >= 0.3.1)
9
10
  avm-eac_php_base0 (~> 0.4, >= 0.4.2)
10
11
  avm-eac_postgresql_base0 (~> 0.5, >= 0.5.2)
11
12
  avm-eac_python_base0 (~> 0.2, >= 0.2.1)
12
13
  avm-eac_rails_base0 (~> 0.10, >= 0.10.3)
13
14
  avm-eac_rails_base1 (~> 0.9, >= 0.9.3)
14
- avm-eac_redmine_base0 (~> 0.21)
15
+ avm-eac_redmine_base0 (~> 0.21, >= 0.21.2)
15
16
  avm-eac_redmine_plugin_base0 (~> 0.4)
16
- avm-eac_ruby_base1 (~> 0.32)
17
+ avm-eac_ruby_base1 (~> 0.32, >= 0.32.1)
17
18
  avm-eac_webapp_base0 (~> 0.18, >= 0.18.2)
18
19
  avm-eac_wordpress_base0 (~> 0.3, >= 0.3.1)
19
20
  avm-git (~> 0.13, >= 0.13.4)
20
- avm-tools (~> 0.155)
21
+ avm-tools (~> 0.157)
21
22
  eac_ruby_utils (~> 0.119, >= 0.119.2)
22
23
 
23
24
  PATH
@@ -37,6 +38,14 @@ PATH
37
38
  avm (~> 0.79)
38
39
  eac_ruby_utils (~> 0.119, >= 0.119.2)
39
40
 
41
+ PATH
42
+ remote: sub/avm-eac_github_base0
43
+ specs:
44
+ avm-eac_github_base0 (0.2.0)
45
+ avm (~> 0.81)
46
+ eac_rest (~> 0.10)
47
+ eac_ruby_utils (~> 0.119, >= 0.119.2)
48
+
40
49
  PATH
41
50
  remote: sub/avm-eac_latex_base0
42
51
  specs:
@@ -86,9 +95,9 @@ PATH
86
95
  PATH
87
96
  remote: sub/avm-eac_redmine_base0
88
97
  specs:
89
- avm-eac_redmine_base0 (0.21.0)
90
- avm (~> 0.79)
91
- avm-eac_generic_base0 (~> 0.12)
98
+ avm-eac_redmine_base0 (0.21.2)
99
+ avm (~> 0.81)
100
+ avm-eac_generic_base0 (~> 0.12, >= 0.12.1)
92
101
  avm-eac_rails_base1 (~> 0.9, >= 0.9.3)
93
102
  avm-eac_ubuntu_base0 (~> 0.5)
94
103
  curb (~> 0.9, >= 0.9.11)
@@ -106,9 +115,9 @@ PATH
106
115
  PATH
107
116
  remote: sub/avm-eac_ruby_base1
108
117
  specs:
109
- avm-eac_ruby_base1 (0.32.0)
118
+ avm-eac_ruby_base1 (0.32.1)
110
119
  aranha-parsers (~> 0.21)
111
- avm (~> 0.79)
120
+ avm (~> 0.80)
112
121
  avm-eac_generic_base0 (~> 0.12, >= 0.12.1)
113
122
  eac_envs-http (~> 0.4, >= 0.4.1)
114
123
  eac_ruby_utils (~> 0.119, >= 0.119.2)
@@ -163,10 +172,10 @@ PATH
163
172
  PATH
164
173
  remote: sub/avm-tools
165
174
  specs:
166
- avm-tools (0.155.0)
175
+ avm-tools (0.157.0)
167
176
  aranha-parsers (~> 0.21)
168
- avm (~> 0.79)
169
- avm-eac_ruby_base1 (~> 0.31, >= 0.31.2)
177
+ avm (~> 0.81)
178
+ avm-eac_ruby_base1 (~> 0.32, >= 0.32.1)
170
179
  avm-eac_ubuntu_base0 (~> 0.5)
171
180
  avm-files (~> 0.6, >= 0.6.2)
172
181
  avm-git (~> 0.13, >= 0.13.4)
@@ -181,14 +190,14 @@ PATH
181
190
  PATH
182
191
  remote: sub/avm
183
192
  specs:
184
- avm (0.79.0)
193
+ avm (0.81.0)
185
194
  aranha-parsers (~> 0.21)
186
- eac_cli (~> 0.35, >= 0.35.1)
187
- eac_config (~> 0.14)
195
+ eac_cli (~> 0.38)
196
+ eac_config (~> 0.14, >= 0.14.1)
188
197
  eac_docker (~> 0.7)
189
198
  eac_fs (~> 0.16)
190
199
  eac_git (~> 0.14, >= 0.14.1)
191
- eac_ruby_utils (~> 0.119)
200
+ eac_ruby_utils (~> 0.119, >= 0.119.2)
192
201
  eac_templates (~> 0.5)
193
202
  filesize (~> 0.2)
194
203
  htmlbeautifier (~> 1.4, >= 1.4.2)
@@ -205,9 +214,9 @@ PATH
205
214
  PATH
206
215
  remote: sub/eac_config
207
216
  specs:
208
- eac_config (0.14.0)
209
- addressable (~> 2.8, >= 2.8.4)
210
- eac_ruby_utils (~> 0.119)
217
+ eac_config (0.14.1)
218
+ addressable (~> 2.8, >= 2.8.5)
219
+ eac_ruby_utils (~> 0.119, >= 0.119.2)
211
220
 
212
221
  PATH
213
222
  remote: sub/eac_git
@@ -268,10 +277,10 @@ GEM
268
277
  eac_cli (~> 0.35)
269
278
  eac_fs (~> 0.16)
270
279
  eac_ruby_utils (~> 0.117)
271
- eac_ruby_gem_support (0.8.1)
280
+ eac_ruby_gem_support (0.8.2)
272
281
  eac_ruby_utils (~> 0.119, >= 0.119.2)
273
282
  rspec (~> 3.12)
274
- rubocop (~> 1.56, >= 1.56.4)
283
+ rubocop (~> 1.57, >= 1.57.1)
275
284
  rubocop-rails (~> 2.21, >= 2.21.2)
276
285
  rubocop-rspec (~> 2.24, >= 2.24.1)
277
286
  eac_ruby_utils (0.119.2)
@@ -343,8 +352,7 @@ GEM
343
352
  diff-lcs (>= 1.2.0, < 2.0)
344
353
  rspec-support (~> 3.12.0)
345
354
  rspec-support (3.12.1)
346
- rubocop (1.57.1)
347
- base64 (~> 0.1.1)
355
+ rubocop (1.57.2)
348
356
  json (~> 2.3)
349
357
  language_server-protocol (>= 3.17.0)
350
358
  parallel (~> 1.10)
@@ -355,18 +363,18 @@ GEM
355
363
  rubocop-ast (>= 1.28.1, < 2.0)
356
364
  ruby-progressbar (~> 1.7)
357
365
  unicode-display_width (>= 2.4.0, < 3.0)
358
- rubocop-ast (1.29.0)
366
+ rubocop-ast (1.30.0)
359
367
  parser (>= 3.2.1.0)
360
368
  rubocop-capybara (2.19.0)
361
369
  rubocop (~> 1.41)
362
370
  rubocop-factory_bot (2.24.0)
363
371
  rubocop (~> 1.33)
364
- rubocop-rails (2.21.2)
372
+ rubocop-rails (2.22.1)
365
373
  activesupport (>= 4.2.0)
366
374
  rack (>= 1.1)
367
375
  rubocop (>= 1.33.0, < 2.0)
368
- rubocop-rspec (2.24.1)
369
- rubocop (~> 1.33)
376
+ rubocop-rspec (2.25.0)
377
+ rubocop (~> 1.40)
370
378
  rubocop-capybara (~> 2.17)
371
379
  rubocop-factory_bot (~> 2.22)
372
380
  ruby-filemagic (0.7.3)
@@ -385,6 +393,7 @@ DEPENDENCIES
385
393
  avm!
386
394
  avm-eac_asciidoctor_base0!
387
395
  avm-eac_generic_base0!
396
+ avm-eac_github_base0!
388
397
  avm-eac_latex_base0!
389
398
  avm-eac_php_base0!
390
399
  avm-eac_postgresql_base0!
@@ -407,4 +416,4 @@ DEPENDENCIES
407
416
  eac_tools!
408
417
 
409
418
  BUNDLED WITH
410
- 2.3.26
419
+ 2.4.19
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.77.1'
4
+ VERSION = '0.79.0'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -13,12 +13,12 @@ Gem::Specification.new do |s|
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
15
  s.add_dependency 'aranha-parsers', '~> 0.21'
16
- s.add_dependency 'eac_cli', '~> 0.35', '>= 0.35.1'
17
- s.add_dependency 'eac_config', '~> 0.14'
16
+ s.add_dependency 'eac_cli', '~> 0.38'
17
+ s.add_dependency 'eac_config', '~> 0.14', '>= 0.14.1'
18
18
  s.add_dependency 'eac_docker', '~> 0.7'
19
19
  s.add_dependency 'eac_fs', '~> 0.16'
20
20
  s.add_dependency 'eac_git', '~> 0.14', '>= 0.14.1'
21
- s.add_dependency 'eac_ruby_utils', '~> 0.119'
21
+ s.add_dependency 'eac_ruby_utils', '~> 0.119', '>= 0.119.2'
22
22
  s.add_dependency 'eac_templates', '~> 0.5'
23
23
  s.add_dependency 'filesize', '~> 0.2'
24
24
  s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.2'
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationScms
7
+ class Base
8
+ class << self
9
+ # @return [String]
10
+ def type_name
11
+ name.gsub(/#{Regexp.quote('::ApplicationScms::Base')}$/, '').demodulize
12
+ end
13
+ end
14
+
15
+ # !method initialize(url)
16
+ # @param url [Addressable::URI]
17
+ common_constructor :url do
18
+ self.url = url.to_uri
19
+ end
20
+ delegate :type_name, to: :class
21
+
22
+ # @return [String]
23
+ def to_s
24
+ "#{type_name}[#{url}]"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationScms
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/ids'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Applications
8
+ class Base
9
+ module LocalInstance
10
+ LOCAL_INSTANCE_SUFFIX = 'dev'
11
+
12
+ # @return [String]
13
+ def local_instance_id
14
+ ::Avm::Instances::Ids.build(id, local_instance_suffix)
15
+ end
16
+
17
+ # @return [String]
18
+ def local_instance_suffix
19
+ LOCAL_INSTANCE_SUFFIX
20
+ end
21
+
22
+ private
23
+
24
+ # @return [Avm::Instances::Base]
25
+ def local_instance_uncached
26
+ instance(local_instance_suffix)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_config/node'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Applications
9
+ class Base
10
+ module LocalSource
11
+ # @return [Pathname]
12
+ def local_source_path
13
+ local_source_path_entry.value!.to_pathname
14
+ end
15
+
16
+ # @return [EacConfig::Entry]
17
+ def local_source_path_entry
18
+ ::EacConfig::Node.context.current.entry([local_instance_id, 'install', 'path'])
19
+ end
20
+
21
+ private
22
+
23
+ # @return [Avm::Sources::Base]
24
+ def local_source_uncached
25
+ ::Avm::Registry.sources.detect(local_source_path)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Naming
9
+ DEFAULT_NAME = '_Undefined_'
10
+
11
+ # @return [String]
12
+ def default_name
13
+ DEFAULT_NAME
14
+ end
15
+
16
+ # @return [String]
17
+ def name
18
+ name_from_configuration || default_name
19
+ end
20
+
21
+ # @return [String]
22
+ def name_from_configuration
23
+ entry(::Avm::Instances::EntryKeys::NAME).optional_value
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Organization
9
+ DEFAULT_ORGANIZATION = '_undefined_'
10
+ ORGANIZATION_CONFIG_KEY = 'organization'
11
+
12
+ # @return [String]
13
+ def default_organization
14
+ DEFAULT_ORGANIZATION
15
+ end
16
+
17
+ # @return [String, nil]
18
+ def organization_by_configuration
19
+ entry(ORGANIZATION_CONFIG_KEY).optional_value
20
+ end
21
+
22
+ # @return [String]
23
+ def organization
24
+ organization_by_configuration || default_organization
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Applications
8
+ class Base
9
+ module Scm
10
+ common_concern do
11
+ uri_components_entries_values 'scm', %w[repos_path type]
12
+ end
13
+
14
+ # @return [Avm::ApplicationScms::Base]
15
+ def scm
16
+ @scm ||= ::Avm::Registry.application_scms.detect(scm_type, scm_url)
17
+ end
18
+
19
+ # @param value [String]
20
+ # @return [String]
21
+ def scm_repos_path_inherited_value_proc(value)
22
+ value.to_pathname.join(id).to_path
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,19 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/entries/base'
4
- require 'avm/instances/ids'
5
- require 'avm/registry'
6
4
  require 'eac_ruby_utils/core_ext'
7
5
 
8
6
  module Avm
9
7
  module Applications
10
8
  class Base
11
9
  enable_simple_cache
12
- require_sub __FILE__, include_modules: true
13
10
  include ::Avm::Entries::Base
14
11
 
15
12
  AVM_TYPE = 'Application'
16
- LOCAL_INSTANCE_SUFFIX = 'dev'
13
+
14
+ class << self
15
+ # @param id [String]
16
+ # @return [Avm::Applications::Base]
17
+ def by_id(id)
18
+ new(id)
19
+ end
20
+ end
17
21
 
18
22
  common_constructor :id do
19
23
  self.id = id.to_s
@@ -27,41 +31,7 @@ module Avm
27
31
  stereotype.instance_class.new(self, suffix)
28
32
  end
29
33
 
30
- def name
31
- entry(::Avm::Instances::EntryKeys::NAME).read
32
- end
33
-
34
- # @return [String]
35
- def local_instance_id
36
- ::Avm::Instances::Ids.build(id, local_instance_suffix)
37
- end
38
-
39
- # @return [Pathname]
40
- def local_source_path
41
- local_source_path_entry.value!.to_pathname
42
- end
43
-
44
- # @return [EacConfig::Entry]
45
- def local_source_path_entry
46
- ::EacConfig::Node.context.current.entry([local_instance_id, 'install', 'path'])
47
- end
48
-
49
- # @return [String]
50
- def local_instance_suffix
51
- LOCAL_INSTANCE_SUFFIX
52
- end
53
-
54
- private
55
-
56
- # @return [Avm::Instances::Base]
57
- def local_instance_uncached
58
- instance(local_instance_suffix)
59
- end
60
-
61
- # @return [Avm::Sources::Base]
62
- def local_source_uncached
63
- ::Avm::Registry.sources.detect(local_source_path)
64
- end
34
+ require_sub __FILE__, include_modules: true
65
35
  end
66
36
  end
67
37
  end
@@ -18,8 +18,23 @@ module Avm
18
18
  end
19
19
  end
20
20
 
21
+ # @param provider_id [String]
22
+ # @return [Avm::Entries::Base]
23
+ def other_entries_provider(provider_id)
24
+ other_entries_provider_class.by_id(provider_id)
25
+ end
26
+
27
+ # @return [Class]
28
+ def other_entries_provider_class
29
+ [::Avm::Instances::Base, ::Avm::Applications::Base].each do |klass|
30
+ return klass if entries_provider.is_a?(klass)
31
+ end
32
+
33
+ raise "No provider class found for \"#{entries_provider}\""
34
+ end
35
+
21
36
  def other_entry_value(instance_id)
22
- ::Avm::Instances::Base.by_id(instance_id).read_entry_optional(target_entry_suffix)
37
+ other_entries_provider(instance_id).read_entry_optional(target_entry_suffix)
23
38
  end
24
39
 
25
40
  def self_entry_value
@@ -13,8 +13,9 @@ module Avm
13
13
  common_constructor :uri_component_entry_value
14
14
  delegate :component_entry_path, :entries_provider, to: :uri_component_entry_value
15
15
 
16
+ # @return [Symbol]
16
17
  def default_value_method_name
17
- "#{component_entry_path.parts.join('_').variableize}_default_value"
18
+ component_entry_path.default_method_name
18
19
  end
19
20
 
20
21
  def result
@@ -28,8 +28,9 @@ module Avm
28
28
  ->(value) { entries_provider.send(inherited_value_block_method_name, value) }
29
29
  end
30
30
 
31
+ # @return [Symbol]
31
32
  def inherited_value_block_method_name
32
- "#{component_entry_path.parts.join('_').variableize}_inherited_value_proc".to_sym
33
+ component_entry_path.inherited_block_method_name
33
34
  end
34
35
  end
35
36
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
+ require 'avm/patches/eac_config/entry_path'
4
5
  require 'eac_ruby_utils/core_ext'
5
6
 
6
7
  module Avm
@@ -10,14 +11,8 @@ module Avm
10
11
  class GenericComponent
11
12
  common_constructor :owner, :component
12
13
  delegate :entries_provider_class, :prefix, to: :owner
13
-
14
- def auto_method_name
15
- ['auto', component_method_name].join('_')
16
- end
17
-
18
- def component_method_name
19
- [prefix, component].join('_')
20
- end
14
+ delegate :auto_method_name, :get_method_name, :get_optional_method_name,
15
+ to: :entry_key_path
21
16
 
22
17
  def define_auto_method
23
18
  outer_self = self
@@ -48,22 +43,12 @@ module Avm
48
43
  ::EacConfig::EntryPath.assert([prefix, component])
49
44
  end
50
45
 
51
- # @return [String]
52
- def get_method_name # rubocop:disable Naming/AccessorMethodName
53
- component_method_name
54
- end
55
-
56
- # @return [String]
57
- def get_optional_method_name # rubocop:disable Naming/AccessorMethodName
58
- get_method_name + '_optional'
59
- end
60
-
61
46
  def id_component
62
47
  @id_component ||= owner.component_factory('id')
63
48
  end
64
49
 
65
50
  def inherited_value_proc_name
66
- [component_method_name, 'inherited_value_proc'].join('_')
51
+ entry_key_path.inherited_block_method_name
67
52
  end
68
53
 
69
54
  def setup
@@ -8,6 +8,7 @@ module Avm
8
8
  module AutoValues
9
9
  module Database
10
10
  LOCAL_ADDRESS = '127.0.0.1'
11
+ LOCAL_ADDRESSES = [LOCAL_ADDRESS, '::1', 'localhost'].freeze
11
12
  DEFAULT_EXTRA = ''
12
13
  DEFAULT_HOSTNAME = LOCAL_ADDRESS
13
14
  DEFAULT_LIMIT = 5
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_config/entry_path'
4
+
5
+ module EacConfig
6
+ class EntryPath
7
+ # @return [Symbol]
8
+ def auto_method_name
9
+ method_name('auto_', '')
10
+ end
11
+
12
+ # @return [Symbol]
13
+ def default_method_name
14
+ method_name('', '_default_value')
15
+ end
16
+
17
+ # @return [Symbol]
18
+ def get_method_name # rubocop:disable Naming/AccessorMethodName
19
+ method_name('', '')
20
+ end
21
+
22
+ # @return [Symbol]
23
+ def get_optional_method_name # rubocop:disable Naming/AccessorMethodName
24
+ method_name('', '_optional')
25
+ end
26
+
27
+ # @return [Symbol]
28
+ def inherited_block_method_name
29
+ method_name('', '_inherited_value_proc')
30
+ end
31
+
32
+ # @return [String]
33
+ def variableize
34
+ parts.join('_')
35
+ end
36
+
37
+ private
38
+
39
+ # @param before [String]
40
+ # @param after [String]
41
+ # @return [Symbol]
42
+ def method_name(before, after)
43
+ "#{before}#{variableize}#{after}".to_sym
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry/from_gems'
4
+
5
+ module Avm
6
+ module Registry
7
+ class ApplicationScms < ::Avm::Registry::FromGems
8
+ def class_detect(klass, detect_args)
9
+ return nil unless klass.type_name == detect_args[0]
10
+
11
+ klass.new(*detect_args[1..-1])
12
+ end
13
+ end
14
+ end
15
+ end
@@ -7,9 +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, :config_objects,
11
- :file_formats, :instances, :launcher_stereotypes, :runners, :scms,
12
- :source_generators, :sources
10
+ lists.add_symbol :category, :applications, :application_scms, :application_stereotypes,
11
+ :config_objects, :file_formats, :instances, :launcher_stereotypes, :runners,
12
+ :scms, :source_generators, :sources
13
13
 
14
14
  class << self
15
15
  enable_simple_cache
@@ -13,8 +13,8 @@ require 'eac_ruby_utils/core_ext'
13
13
  context "when a auto value is requested for \"#{instance_id}.#{input}\"" do
14
14
  let(:instance) { described_class.by_id(instance_id) }
15
15
 
16
- it ".read_entry should return \"#{expected}\"" do
17
- expect(instance.read_entry(input)).to eq(expected)
16
+ it ".entry('#{input}').value should return \"#{expected}\"" do
17
+ expect(instance.entry(input).value).to eq(expected)
18
18
  end
19
19
  end
20
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.79.0'
4
+ VERSION = '0.81.0'
5
5
  end