avm-eac_ruby_base1 0.41.1 → 0.42.1

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: f3bd44d7c8f8a3238cc02e153c0861bd441949f28859d0cbfb32d28323d4bd93
4
- data.tar.gz: 690d9ee1504a31181c8bfa111b5d82504bde9cb193fbc592bc1dcb5aaffa6f44
3
+ metadata.gz: d83a959941c603dec89d23ee5b0ff93e19a675fe1aa773d001da64bca13f69b2
4
+ data.tar.gz: 47f86a0830d436b605e24a30daac053f000b0f7c2a6bdd22aeee0d7a1033cef3
5
5
  SHA512:
6
- metadata.gz: 60e8e8302d505e4e62c6300c1a330e1989d4a72d4e0e91f2cb8db252056f51067d1933886deb812c77e8d7ec12111f3014853d7b5973cd4c739895c8a3897f83
7
- data.tar.gz: 1790525ea537b2eac3d8d284bba45e715bc4769677689dc7bc5e206522639a096b9b1e99dee9a7f76d0ba251ba2ec4b7c0a78c2037a9a465f80ccf72bccfff0b
6
+ metadata.gz: d32b1f5a386dbe73c205de17cd5f5154acb72f2355a4c043cdf1518b41a7c9bc1ed170c26b31645d500cab79a7eefd6e3c5ccf14dfcb0e816dbe99923b27cdef
7
+ data.tar.gz: 207d23b99467122da402754d8f59bdcc846bd85a87e129ba136f1aaf39c8a21cdd5cd7c24f1fb7b994f55d33d8d748d78cf4abd474c968a6358bf18c5ffb158f
@@ -13,6 +13,11 @@ module Avm
13
13
  self.type = self.class.lists.type.value_validate!(type)
14
14
  end
15
15
 
16
+ # @return [String]
17
+ def to_s
18
+ "#{self.class}[#{gem_name}, #{type}]"
19
+ end
20
+
16
21
  def version_specs=(version_specs)
17
22
  gemspec.add_or_replace_gem_line(gem_name, version_specs, type)
18
23
  end
@@ -5,22 +5,23 @@ module Avm
5
5
  module Sources
6
6
  class Base < ::Avm::EacGenericBase0::Sources::Base
7
7
  module Update
8
+ # @return [void]
8
9
  def on_sub_updated
9
- update_self_content
10
+ update_self_changes_before_subs
10
11
  end
11
12
 
12
- # @return [String]
13
- def update_self_commit_message
14
- i18n_translate(
15
- __method__,
16
- gemfile_lock_path: gemfile_lock_path.relative_path_from(path)
17
- )
13
+ # @param changes [Enumerable<Avm::Sources::Change>]
14
+ def update_self_changes_after_subs
15
+ super + [
16
+ ::Avm::EacRubyBase1::Sources::Update::Changes::UpdateRequirements.new(self)
17
+ ]
18
18
  end
19
19
 
20
- def update_self_content
21
- bundle_update.execute!
22
- rescue ::EacRubyUtils::Envs::ExecutionError
23
- raise ::Avm::Sources::UpdateError
20
+ # @param changes [Enumerable<Avm::Sources::Change>]
21
+ def update_self_changes_before_subs
22
+ super + [
23
+ ::Avm::EacRubyBase1::Sources::Update::Changes::BundleUpdate.new(self)
24
+ ]
24
25
  end
25
26
  end
26
27
  end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Sources
6
+ module Update
7
+ module Changes
8
+ class BundleUpdate < ::Avm::Sources::Change
9
+ # @return [String]
10
+ def commit_message
11
+ i18n_translate(
12
+ __method__,
13
+ gemfile_lock_path: source.gemfile_lock_path.relative_path_from(source.path)
14
+ )
15
+ end
16
+
17
+ # @return [void]
18
+ def perform
19
+ source.bundle_update.execute!
20
+ rescue ::EacRubyUtils::Envs::ExecutionError
21
+ raise ::Avm::Sources::UpdateError
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Sources
6
+ module Update
7
+ module Changes
8
+ class UpdateRequirements < ::Avm::Sources::Change
9
+ enable_memoized
10
+
11
+ # @return [void]
12
+ def perform
13
+ source.bundle.system!
14
+ update_gemspec
15
+ source.bundle.system!
16
+ end
17
+
18
+ RUBOCOP_OK_CODES = [256].freeze
19
+
20
+ protected
21
+
22
+ # @param dependency [Avm::EacRubyBase1::Rubygems::Gemspec::Dependency]
23
+ # @return [Array<String>]
24
+ def dependency_requirements_list(dependency)
25
+ ::Avm::EacRubyBase1::PreferredVersionRequirements.new(
26
+ source.gemfile_lock_gem_version(dependency.gem_name)
27
+ ).to_requirements_list
28
+ end
29
+
30
+ # @return [String]
31
+ def format_gemspec
32
+ source.rubocop_command.ignore_parent_exclusion(true).autocorrect(true)
33
+ .file(source.gemspec_path)
34
+ .execute!(exit_outputs: RUBOCOP_OK_CODES.index_with { |_k| nil })
35
+ end
36
+
37
+ # @return [Avm::EacRubyBase1::Rubygems::Gemspec]
38
+ memoize def gemspec
39
+ ::Avm::EacRubyBase1::Rubygems::Gemspec.from_file(source.gemspec_path)
40
+ end
41
+
42
+ # @return [String]
43
+ def update_gemspec
44
+ gemspec.dependencies.each do |dependency|
45
+ dependency.version_specs = dependency_requirements_list(dependency)
46
+ end
47
+ gemspec.write(source.gemspec_path)
48
+ format_gemspec
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.41.1'
5
+ VERSION = '0.42.1'
6
6
  end
7
7
  end
@@ -1,15 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils'
4
- EacRubyUtils::RootModuleSetup.perform __FILE__
5
-
6
- module Avm
7
- module EacRubyBase1
8
- end
3
+ require 'eac_ruby_base1'
4
+ EacRubyBase1::RootModuleSetup.perform __FILE__ do
5
+ require 'aranha/parsers'
6
+ require 'avm'
7
+ require 'avm/eac_generic_base0'
8
+ require 'eac_templates'
9
+ require 'eac_envs/http'
9
10
  end
10
-
11
- require 'aranha/parsers'
12
- require 'avm'
13
- require 'avm/eac_generic_base0'
14
- require 'eac_templates'
15
- require 'eac_envs/http'
data/locale/en.yml CHANGED
@@ -10,7 +10,10 @@ en:
10
10
  version_unpublished_check_result: "%{gem} not found in %{provider}"
11
11
  sources:
12
12
  base:
13
- update_self_commit_message: '%{gemfile_lock_path}: "bundle update".'
14
13
  update_version_no_scm_message: "Gem \"%{application_id}\" (Local): update to '%{version}'."
15
- update_dependency_requirements:
16
- commit_message: "Gem \"%{name}\": update to '%{requirements_list}'."
14
+ update:
15
+ changes:
16
+ bundle_update:
17
+ commit_message: '%{gemfile_lock_path}: "bundle update".'
18
+ update_requirements:
19
+ commit_message: 'Gemspec#dependencies[*]: update requirements.'
data/locale/pt-BR.yml CHANGED
@@ -10,7 +10,10 @@ pt-BR:
10
10
  version_unpublished_check_result: "%{gem} não encontrada em %{provider}."
11
11
  sources:
12
12
  base:
13
- update_self_commit_message: '%{gemfile_lock_path}: "bundle update".'
14
13
  update_version_no_scm_message: "Gem \"%{application_id}\" (Local): atualiza para '%{version}'."
15
- update_dependency_requirements:
16
- commit_message: "Gem \"%{name}\": atualiza para '%{requirements_list}'."
14
+ update:
15
+ changes:
16
+ bundle_update:
17
+ commit_message: '%{gemfile_lock_path}: "bundle update".'
18
+ update_requirements:
19
+ commit_message: 'Gemspec#dependencies[*]: atualiza requisitos.'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-eac_ruby_base1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.41.1
4
+ version: 0.42.1
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: 2026-05-07 00:00:00.000000000 Z
11
+ date: 2026-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-parsers
@@ -16,28 +16,34 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.27'
19
+ version: '0.29'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.27'
26
+ version: '0.29'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: avm
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.100'
33
+ version: '0.102'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 0.102.1
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - "~>"
39
42
  - !ruby/object:Gem::Version
40
- version: '0.100'
43
+ version: '0.102'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 0.102.1
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: avm-eac_generic_base0
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -47,7 +53,7 @@ dependencies:
47
53
  version: '0.15'
48
54
  - - ">="
49
55
  - !ruby/object:Gem::Version
50
- version: 0.15.2
56
+ version: 0.15.3
51
57
  type: :runtime
52
58
  prerelease: false
53
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +63,7 @@ dependencies:
57
63
  version: '0.15'
58
64
  - - ">="
59
65
  - !ruby/object:Gem::Version
60
- version: 0.15.2
66
+ version: 0.15.3
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: eac_envs-http
63
69
  requirement: !ruby/object:Gem::Requirement
@@ -79,19 +85,19 @@ dependencies:
79
85
  - !ruby/object:Gem::Version
80
86
  version: 0.7.1
81
87
  - !ruby/object:Gem::Dependency
82
- name: eac_ruby_utils
88
+ name: eac_ruby_base1
83
89
  requirement: !ruby/object:Gem::Requirement
84
90
  requirements:
85
91
  - - "~>"
86
92
  - !ruby/object:Gem::Version
87
- version: '0.131'
93
+ version: '0.1'
88
94
  type: :runtime
89
95
  prerelease: false
90
96
  version_requirements: !ruby/object:Gem::Requirement
91
97
  requirements:
92
98
  - - "~>"
93
99
  - !ruby/object:Gem::Version
94
- version: '0.131'
100
+ version: '0.1'
95
101
  - !ruby/object:Gem::Dependency
96
102
  name: eac_ruby_gem_support
97
103
  requirement: !ruby/object:Gem::Requirement
@@ -184,15 +190,15 @@ files:
184
190
  - lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb
185
191
  - lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb
186
192
  - lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb
187
- - lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb
188
193
  - lib/avm/eac_ruby_base1/sources/tests/base.rb
189
194
  - lib/avm/eac_ruby_base1/sources/tests/minitest.rb
190
195
  - lib/avm/eac_ruby_base1/sources/tests/multiple.rb
191
196
  - lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb
192
197
  - lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb
193
198
  - lib/avm/eac_ruby_base1/sources/tests/rspec.rb
199
+ - lib/avm/eac_ruby_base1/sources/update/changes/bundle_update.rb
200
+ - lib/avm/eac_ruby_base1/sources/update/changes/update_requirements.rb
194
201
  - lib/avm/eac_ruby_base1/sources/update/sub_update.rb
195
- - lib/avm/eac_ruby_base1/sources/update_dependency_requirements.rb
196
202
  - lib/avm/eac_ruby_base1/version.rb
197
203
  - locale/en.yml
198
204
  - locale/pt-BR.yml
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacRubyBase1
5
- module Sources
6
- module Runners
7
- class UpdateDependenciesRequirements
8
- runner_with :help do
9
- bool_opt '-a', '--all'
10
- arg_opt '-e', '--exclude', repeat: true
11
- pos_arg :gem_name, repeat: true, optional: true
12
- end
13
-
14
- def run
15
- start_banner
16
- update_gemfile_lock
17
- process_all_gems
18
- end
19
-
20
- def gemspec
21
- ::Avm::EacRubyBase1::Rubygems::Gemspec.from_file(
22
- runner_context.call(:source).gemspec_path
23
- )
24
- end
25
-
26
- private
27
-
28
- def exclude?(gem_name)
29
- parsed.exclude.include?(gem_name)
30
- end
31
-
32
- def gem_names_uncached
33
- ::Set.new(parsed.gem_name + gem_names_from_all).reject { |gem_name| exclude?(gem_name) }
34
- .sort
35
- end
36
-
37
- def gem_names_from_all
38
- return [] unless parsed.all?
39
-
40
- gemspec.dependencies.map(&:gem_name)
41
- end
42
-
43
- def process_all_gems
44
- gem_names.each do |gem_name|
45
- infov 'Gem to update', gem_name
46
- ::Avm::EacRubyBase1::Sources::UpdateDependencyRequirements
47
- .new(runner_context.call(:source), gem_name).perform
48
- end
49
- end
50
-
51
- def start_banner
52
- runner_context.call(:source_banner)
53
- infov 'Gems to update', gem_names.count
54
- end
55
-
56
- def update_gemfile_lock
57
- infom 'Updating Gemfile\'s lock...'
58
- runner_context.call(:source).bundle('update').execute!
59
- end
60
- end
61
- end
62
- end
63
- end
64
- end
@@ -1,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module EacRubyBase1
5
- module Sources
6
- class UpdateDependencyRequirements
7
- enable_simple_cache
8
- common_constructor :source, :gem_name
9
-
10
- RUBOCOP_OK_CODES = [256].freeze
11
-
12
- def perform
13
- source.scm.commit_if_change(commit_message) { update_code }
14
- end
15
-
16
- private
17
-
18
- # @return [String]
19
- def commit_message
20
- i18n_translate(__method__,
21
- name: gem_name,
22
- requirements_list: requirements_list.join(', '),
23
- __locale: source.locale)
24
- end
25
-
26
- def format_gemspec
27
- source.rubocop_command.ignore_parent_exclusion(true).autocorrect(true)
28
- .file(source.gemspec_path)
29
- .execute!(exit_outputs: RUBOCOP_OK_CODES.index_with { |_k| nil })
30
- end
31
-
32
- # @return [Array<String>]
33
- def requirements_list_uncached
34
- ::Avm::EacRubyBase1::PreferredVersionRequirements.new(
35
- source.gemfile_lock_gem_version(gem_name)
36
- ).to_requirements_list
37
- end
38
-
39
- def gemspec_uncached
40
- ::Avm::EacRubyBase1::Rubygems::Gemspec.from_file(source.gemspec_path)
41
- end
42
-
43
- def parent_bundle
44
- source.parent.if_present(&:on_sub_updated)
45
- end
46
-
47
- def update_code
48
- update_gemspec
49
- source.bundle.system!
50
- parent_bundle
51
- end
52
-
53
- def update_gemspec
54
- gemspec.dependency(gem_name).version_specs = requirements_list
55
- gemspec.write(source.gemspec_path)
56
- format_gemspec
57
- end
58
- end
59
- end
60
- end
61
- end