avm 0.97.1 → 0.98.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0ad0401110e0afdebe5ccfdf0551e3620b5e901782ac8cbf132e20c70358cf8
4
- data.tar.gz: 12a92e0c885ed12d1f6875ae806f4b25a6227e2da23653d47fbacb2cceaf4b18
3
+ metadata.gz: e42983390965104971cb474b02e9ca77161ae919e59beafe65d7361779f68074
4
+ data.tar.gz: 0f27ea22f0ced294d7db751ed224c032524656e883178736bee971083d76d456
5
5
  SHA512:
6
- metadata.gz: bf4a3b541e23be844ebbac74097f7b67ef6ab8ee978a9544036a068cca4913944ff1aef3b7514492ff1fbadfe1b6e411c76f03e7bf7d7fb14f4bc662c42a2f34
7
- data.tar.gz: 8afe1dc7db57731c992fb4d2c796fd324360c5068d3de3364ee415481c95484fe0ec432ff3055e7ce5d8b3dbb10a381497de2e360eb03f1c450cd76b2e3bd690
6
+ metadata.gz: 42855e35c57afafd69f5b92ccc980ffb1d5d6e5133bf4f276623ceafcc0cfe18dc10f03dd743e79ad8d3af88a09386fd71235a34c22b4b2fbc3a0cb563d2dbc7
7
+ data.tar.gz: 69bfa480af64cb4bcb8ac3edeadf178b23412cfe9bb55e1fff27f585e1e3f4fc8fb7a627efd309234a2d854370c277013a6b41c964638923d1da3e625f63fca8
@@ -8,6 +8,7 @@ module Avm
8
8
  module Files
9
9
  class Deploy
10
10
  include ::Avm::Files::Appendable
11
+
11
12
  enable_simple_cache
12
13
 
13
14
  attr_reader :build_dir, :target_env, :target_path
@@ -7,6 +7,7 @@ module Avm
7
7
  class Base
8
8
  class SubcommandParent
9
9
  include ::EacCli::Runner
10
+
10
11
  enable_simple_cache
11
12
  common_constructor :instance do
12
13
  self.runner_context = ::EacCli::Runner::Context.new(self, argv: runner_argv)
@@ -7,6 +7,7 @@ module Avm
7
7
  enable_listable
8
8
  enable_simple_cache
9
9
  include ::Avm::Entries::Base
10
+
10
11
  require_sub __FILE__, include_modules: true
11
12
  include ::Avm::With::ExtraSubcommands
12
13
  include ::Avm::With::ApplicationStereotype
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ruby-progressbar'
4
-
5
3
  module Avm
6
4
  module Launcher
7
5
  class Context
@@ -19,24 +17,19 @@ module Avm
19
17
 
20
18
  # @return [Array<Avm::Launcher::Instances::Base>]
21
19
  def instances_uncached
22
- @progress = ::ProgressBar.create(title: 'Instance discovery', total: 1)
23
20
  root_instance_paths.flat_map { |path| path_instances(path, nil) }
24
- ensure
25
- @progress&.finish
26
21
  end
27
22
 
28
23
  # @param path [Avm::Launcher::Paths::Logical]
29
24
  # @param parent_instance [Avm::Launcher::Instances::Base]
30
25
  # @return [Array<Avm::Launcher::Instances::Base>]
31
26
  def path_instances(path, parent_instance)
32
- update_progress_format(path)
33
27
  on_rescued_path_instances(path) do |r|
34
28
  if path.project?
35
29
  parent_instance = ::Avm::Launcher::Instances::Base.instanciate(path, parent_instance)
36
30
  r << path
37
31
  end
38
32
  children = path.children
39
- update_progress_count(children)
40
33
  r.concat(children.flat_map { |c| path_instances(c, parent_instance) })
41
34
  end
42
35
  end
@@ -53,19 +46,6 @@ module Avm
53
46
  r
54
47
  end
55
48
 
56
- # @param path [Avm::Launcher::Paths::Logical]
57
- # @return [void]
58
- def update_progress_format(path)
59
- @progress.format = "%t (Paths: %c/%C, Current: #{path.logical}) |%B| %a"
60
- end
61
-
62
- # @param path [Array<Avm::Launcher::Paths::Logical>]
63
- # @return [void]
64
- def update_progress_count(children)
65
- @progress.total += children.count
66
- @progress.increment
67
- end
68
-
69
49
  require_sub __FILE__, require_mode: :kernel
70
50
  end
71
51
  end
@@ -8,6 +8,7 @@ module Avm
8
8
  module Launcher
9
9
  class Context
10
10
  include ::EacRubyUtils::SimpleCache
11
+
11
12
  enable_speaker
12
13
 
13
14
  class << self
@@ -2,11 +2,13 @@
2
2
 
3
3
  module Avm
4
4
  module Registry
5
- class ApplicationStereotypes
5
+ class ApplicationStereotypes < ::Avm::Registry::Base
6
6
  require_sub __FILE__, require_dependency: true
7
7
  enable_simple_cache
8
8
 
9
- common_constructor :module_suffix
9
+ def available
10
+ @available ||= build_available
11
+ end
10
12
 
11
13
  def detect(obj)
12
14
  detect_optional(obj) || raise_not_found(obj)
@@ -18,10 +20,6 @@ module Avm
18
20
 
19
21
  private
20
22
 
21
- def available_uncached
22
- build_available
23
- end
24
-
25
23
  def detect_by_instance_class(obj)
26
24
  return nil unless obj.is_a?(::Class) && obj < ::Avm::Instances::Base
27
25
 
@@ -39,10 +37,6 @@ module Avm
39
37
 
40
38
  available.find { |a| a.source_class == obj }
41
39
  end
42
-
43
- def raise_not_found(obj)
44
- raise("No registered module valid for #{obj} (Available: #{available.join(', ')})")
45
- end
46
40
  end
47
41
  end
48
42
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Registry
5
+ class Base
6
+ acts_as_abstract
7
+ common_constructor :module_suffix
8
+
9
+ def available
10
+ raise_abstract __method__
11
+ end
12
+
13
+ def to_s
14
+ "#{self.class}[#{module_suffix}]"
15
+ end
16
+
17
+ private
18
+
19
+ def raise_not_found(*args)
20
+ raise(::Avm::Registry::DetectionError,
21
+ "No registered module valid for #{args} " \
22
+ "(Module suffix: #{module_suffix}, Available: #{available.join(', ')})")
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Registry
5
+ class DetectionError < RuntimeError
6
+ end
7
+ end
8
+ end
@@ -2,10 +2,9 @@
2
2
 
3
3
  module Avm
4
4
  module Registry
5
- class FromGems
5
+ class FromGems < ::Avm::Registry::Base
6
6
  enable_abstract_methods
7
7
  enable_simple_cache
8
- common_constructor :module_suffix
9
8
 
10
9
  def available
11
10
  registered_modules.reject(&:abstract?)
@@ -33,21 +32,12 @@ module Avm
33
32
  "#{module_suffix}::Base"
34
33
  end
35
34
 
36
- def to_s
37
- "#{self.class}[#{module_suffix}]"
38
- end
39
-
40
35
  def valid_registered_module?(a_module)
41
36
  a_module.is_a?(::Class) && !a_module.abstract?
42
37
  end
43
38
 
44
39
  private
45
40
 
46
- def raise_not_found(*args)
47
- raise("No registered module valid for #{args} " \
48
- "(Module suffix: #{module_suffix}, Available: #{available.join(', ')})")
49
- end
50
-
51
41
  def registered_modules_uncached
52
42
  registered_gems.flat_map { |registry| modules_from_registry(registry) }
53
43
  .select { |v| valid_registered_module?(v) }.uniq
@@ -6,7 +6,6 @@ RSpec.shared_context 'with_launcher' do
6
6
  before do
7
7
  Avm::Launcher::Context.current = launcher_controller.new_context
8
8
  launcher_controller.remotes_dir = Dir.mktmpdir
9
- allow(ProgressBar).to receive(:create).and_return(double.as_null_object)
10
9
  end
11
10
 
12
11
  delegate :application_source_path, :context_set, :init_git, :init_remote, :temp_context,
@@ -13,8 +13,10 @@ module Avm
13
13
  common_concern do
14
14
  include ::EacCli::Runner
15
15
  include ::EacFs::Traversable
16
+
16
17
  enable_settings_provider
17
18
  include TopMethods
19
+
18
20
  runner_definition do
19
21
  bool_opt '-R', '--recursive', 'Recursive.'
20
22
  bool_opt '--no-recursive', 'No recursive.'
data/lib/avm/scms/base.rb CHANGED
@@ -7,6 +7,7 @@ module Avm
7
7
  enable_abstract_methods
8
8
  enable_simple_cache
9
9
  include ::Avm::With::ApplicationStereotype
10
+
10
11
  abstract_methods :update, :valid?
11
12
  common_constructor :path do
12
13
  self.path = path.to_pathname.expand_path
@@ -63,9 +63,9 @@ module Avm
63
63
  configuration_with_filename(configuration_paths.first, false)
64
64
  end
65
65
 
66
- # @return [String]
66
+ # @return [Enumerable<String>]
67
67
  def parent_configuration_prefix
68
- PARENT_CONFIGURATION_SUFFIX + [relative_path]
68
+ PARENT_CONFIGURATION_SUFFIX + [relative_path.to_path.gsub(/\A\.+|\.+\z/, '')]
69
69
  end
70
70
 
71
71
  # @return [EacConfig::PrefixedPathNode]
@@ -6,6 +6,7 @@ module Avm
6
6
  require_sub __FILE__, include_modules: true
7
7
  include ::Avm::With::ApplicationStereotype
8
8
  include ::Avm::With::ExtraSubcommands
9
+
9
10
  compare_by :path
10
11
  enable_abstract_methods
11
12
  enable_simple_cache
data/lib/avm/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.97.1'
4
+ VERSION = '0.98.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.97.1
4
+ version: 0.98.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-01 00:00:00.000000000 Z
11
+ date: 2025-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clipboard
@@ -64,14 +64,14 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.7'
67
+ version: '0.8'
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '0.7'
74
+ version: '0.8'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: eac_fs
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -152,20 +152,6 @@ dependencies:
152
152
  - - ">="
153
153
  - !ruby/object:Gem::Version
154
154
  version: 0.12.1
155
- - !ruby/object:Gem::Dependency
156
- name: ruby-progressbar
157
- requirement: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
160
- - !ruby/object:Gem::Version
161
- version: '1.13'
162
- type: :runtime
163
- prerelease: false
164
- version_requirements: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: '1.13'
169
155
  - !ruby/object:Gem::Dependency
170
156
  name: avm-eac_ruby_base1
171
157
  requirement: !ruby/object:Gem::Requirement
@@ -354,7 +340,9 @@ files:
354
340
  - lib/avm/registry/application_stereotypes/build_available.rb
355
341
  - lib/avm/registry/application_stereotypes/stereotype_builder.rb
356
342
  - lib/avm/registry/applications.rb
343
+ - lib/avm/registry/base.rb
357
344
  - lib/avm/registry/config_objects.rb
345
+ - lib/avm/registry/detection_error.rb
358
346
  - lib/avm/registry/file_formats.rb
359
347
  - lib/avm/registry/from_gems.rb
360
348
  - lib/avm/registry/instances.rb