avm 0.91.0 → 0.92.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: 24587b61abe782918bcfe1b372328d0e9f9ca88db23c9c3990883a8cd88d444b
4
- data.tar.gz: 2b1f1f7d2aa5cb42e8ca326d659b7b749aa7f50278c81347432dbc4e68a32b8d
3
+ metadata.gz: 15b1096b5fdec594a25fe5197312d72392f7e46fece8012263421f80f2d827a4
4
+ data.tar.gz: 49250daa335c7484229ad130bcb978133a0891bd7b9d41793ae20b8f85668e39
5
5
  SHA512:
6
- metadata.gz: c97c2ad6f2857a9b6ccf70f0854b02e39cda4c555aec46174fc7a19ab41f440e7a1b505f6e3c1f377423efad38738a8e843417b30038dda054f151715402401e
7
- data.tar.gz: b0231edc3a011674a2c2cbf048ad4efc66139171f91798e175dc867f889b94888d4086350f27a916f94471956f3f366e0242ffb7c832b9e0ae37589fd6647828
6
+ metadata.gz: fc2292dc7acbfbdef138d2e8a8c97e87f96f2e4947669c11f399f1fd3ab45b73f2808e43d29a9ed5fe24f320b61bf26876b7333cb9d1fd2c6ae50254ac2957d8
7
+ data.tar.gz: 937555ba04232ed2364767d3420ccf4046096e5edeacfb378bb728afc7b296601ca97c94e739fd4fc7246dc306482af4980bb1a6cd0227cfa24ef2dc15cd59f6
@@ -7,6 +7,7 @@ module Avm
7
7
  module Docker
8
8
  class Runner
9
9
  DOCKER_DEFAULT_REGISTRY_METHOD = :docker_default_registry
10
+ DOCKER_DEFAULT_REGISTRY_NAME = 'local'
10
11
 
11
12
  enable_speaker
12
13
  enable_simple_cache
@@ -33,6 +34,11 @@ module Avm
33
34
  container_run
34
35
  end
35
36
 
37
+ # @return [EacDocker::Registry, nil]
38
+ def docker_default_registry
39
+ ::EacDocker::Registry.new(default_docker_registry_name)
40
+ end
41
+
36
42
  private
37
43
 
38
44
  def setup
@@ -65,6 +71,11 @@ module Avm
65
71
  instance.docker_container
66
72
  end
67
73
 
74
+ # @return [String]
75
+ def default_docker_registry_name
76
+ DOCKER_DEFAULT_REGISTRY_NAME
77
+ end
78
+
68
79
  def docker_image
69
80
  instance.docker_image
70
81
  end
@@ -18,8 +18,8 @@ module Avm
18
18
  instance.data_default_dump_path.to_pathname
19
19
  end
20
20
 
21
- def load(*args, &block)
22
- instance.on_disabled_processes { super(*args, &block) }
21
+ def load(...)
22
+ instance.on_disabled_processes { super }
23
23
  end
24
24
  end
25
25
  end
@@ -21,8 +21,8 @@ module Avm
21
21
  instance.data_package.units.key(self) || raise("No identifier found for #{self}")
22
22
  end
23
23
 
24
- def load(*args, &block)
25
- instance.on_disabled_processes { super(*args, &block) }
24
+ def load(...)
25
+ instance.on_disabled_processes { super }
26
26
  end
27
27
  end
28
28
  end
@@ -7,7 +7,7 @@ module Avm
7
7
  def initialize(path)
8
8
  raise "Argument path is not a string: \"#{path}\"|#{path.class}" unless path.is_a?(String)
9
9
 
10
- super(path)
10
+ super
11
11
  end
12
12
 
13
13
  def subpath(relative_path)
@@ -4,15 +4,18 @@ require 'eac_fs/comparator'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  RSpec.shared_examples 'avm_source_generated' do |spec_file, stereotype, options = {}|
7
- fixtures_dir = Pathname.new('base_spec_files').expand_path(File.dirname(spec_file))
7
+ include_context 'spec_paths', spec_file
8
+ block_on_each_source = options.delete(:block_on_each_source)
8
9
 
9
- fixtures_dir.children.select(&:directory?).each do |target_dir|
10
+ spec_paths_controller.fixtures_directory.children.select(&:directory?).each do |target_dir|
10
11
  context "when target is \"#{target_dir.basename}\"" do
11
12
  let(:source) { avm_source(stereotype, options.merge(target_basename: target_dir.basename)) }
12
13
 
13
14
  it do
14
15
  expect(fs_comparator.build(source.path)).to eq(fs_comparator.build(target_dir))
15
16
  end
17
+
18
+ instance_exec(&block_on_each_source) if block_on_each_source
16
19
  end
17
20
  end
18
21
 
@@ -8,6 +8,8 @@ module Avm
8
8
  module SourceGenerators
9
9
  class Base
10
10
  acts_as_abstract
11
+ enable_settings_provider
12
+ enable_speaker
11
13
  include ::Avm::With::ApplicationStereotype
12
14
 
13
15
  class << self
@@ -17,19 +19,29 @@ module Avm
17
19
  end
18
20
  end
19
21
 
22
+ OPTION_NAME = 'name'
23
+ JOBS = [].freeze
24
+
20
25
  common_constructor :target_path, :options, default: [{}] do
21
26
  self.target_path = target_path.to_pathname
22
27
  self.options = option_list.validate(options)
23
28
  end
24
29
 
30
+ # @return [String]
31
+ def name
32
+ options[OPTION_NAME].if_present(target_path.basename.to_path)
33
+ end
34
+
25
35
  # @return [Avm::SourceGenerators::OptionList]
26
36
  def option_list
27
37
  self.class.option_list
28
38
  end
29
39
 
30
40
  def perform
41
+ start_banner
31
42
  assert_clear_directory
32
43
  apply_template
44
+ perform_jobs
33
45
  end
34
46
 
35
47
  def assert_clear_directory
@@ -38,7 +50,25 @@ module Avm
38
50
  end
39
51
 
40
52
  def apply_template
41
- template.apply(self, target_path)
53
+ root_template.apply(self, target_path)
54
+ end
55
+
56
+ def perform_jobs
57
+ setting_value(:jobs).each do |job|
58
+ infom "Generating #{job.humanize}..."
59
+ send("generate_#{job}")
60
+ end
61
+ end
62
+
63
+ # @return [void]
64
+ def start_banner
65
+ infov 'Target path', target_path
66
+ infov 'Application name', name
67
+ end
68
+
69
+ # @return [EacTemlates::Modules::Base]
70
+ def root_template
71
+ template
42
72
  end
43
73
  end
44
74
  end
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.91.0'
4
+ VERSION = '0.92.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.91.0
4
+ version: 0.92.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: 2024-05-15 00:00:00.000000000 Z
11
+ date: 2024-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eac_cli
@@ -16,20 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.40'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 0.40.1
19
+ version: '0.41'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '0.40'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 0.40.1
26
+ version: '0.41'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: eac_config
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -84,34 +78,28 @@ dependencies:
84
78
  requirements:
85
79
  - - "~>"
86
80
  - !ruby/object:Gem::Version
87
- version: '0.121'
81
+ version: '0.122'
88
82
  type: :runtime
89
83
  prerelease: false
90
84
  version_requirements: !ruby/object:Gem::Requirement
91
85
  requirements:
92
86
  - - "~>"
93
87
  - !ruby/object:Gem::Version
94
- version: '0.121'
88
+ version: '0.122'
95
89
  - !ruby/object:Gem::Dependency
96
90
  name: eac_templates
97
91
  requirement: !ruby/object:Gem::Requirement
98
92
  requirements:
99
93
  - - "~>"
100
94
  - !ruby/object:Gem::Version
101
- version: '0.5'
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: 0.5.1
95
+ version: '0.7'
105
96
  type: :runtime
106
97
  prerelease: false
107
98
  version_requirements: !ruby/object:Gem::Requirement
108
99
  requirements:
109
100
  - - "~>"
110
101
  - !ruby/object:Gem::Version
111
- version: '0.5'
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- version: 0.5.1
102
+ version: '0.7'
115
103
  - !ruby/object:Gem::Dependency
116
104
  name: minitar
117
105
  requirement: !ruby/object:Gem::Requirement