avm-eac_ruby_base1 0.33.1 → 0.33.2

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: e07ebc8e6c013cdf5c62b2e5d4a1b669d695f60811c6505f546bb519debfae70
4
- data.tar.gz: 515fbb01e99c1f952119cc38dfc388dd9fff5adfee60c2f21fad95430e0d0dcf
3
+ metadata.gz: bfb9953ef8eb61c9805e7ec553a2f7d9337c505b9b0ddb07d82e837cd3c0d928
4
+ data.tar.gz: ecdff3c27a2078416f3a888a0838af86f0fa1d72d05e15b513f572abba624976
5
5
  SHA512:
6
- metadata.gz: da54bfb57b044b97e672a6d8c3ffe666f840884b3ebae551135ec2efe694bc7e0178eed2022a987f2545388b7c91be4f4551b83b23f36301b6ba8b4367c40525
7
- data.tar.gz: d9c6210d9852c45f7fb9257e20be769a877e55979f067199aa709d69d778d0a8785fadc94dc9059b029f8253f31a17dacd2cebe359db3940d13f31dd228db321
6
+ metadata.gz: 8156b5a96757b7102ed5dbba4ed565b14e9ef4a0b28cbb27f77b5866131fc923a156f18ef2f708f25874f57cdef25784c1b8d66cf2940533713f20d744d9c83f
7
+ data.tar.gz: 6fb495664de6628608090b06d8f87b2520bcdc0a5e0e14840c29acb7f6676aa82cf53f00d1e46bd6b0b44aff3df352ea12297aada2f7ca64765b248433040218
@@ -34,7 +34,7 @@ module Avm
34
34
  end
35
35
 
36
36
  def result_from_spec
37
- result_from_patterns(SPEC_PATTERNS) { |m| "RSpec.describe('#{m[1].camelize}')" }
37
+ result_from_patterns(SPEC_PATTERNS) { |m| "RSpec.describe(#{m[1].camelize})" }
38
38
  end
39
39
 
40
40
  def result_from_superclass
@@ -19,7 +19,7 @@ module Avm
19
19
 
20
20
  # @return [Gem::Version]
21
21
  def version
22
- (options_version || default_version)
22
+ options_version || default_version
23
23
  end
24
24
 
25
25
  def two_segments
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ class GemfileLocal
9
+ class Sibling
10
+ common_constructor :gemfile_local, :source
11
+ delegate :relative_path, to: :source
12
+
13
+ # @return [String]
14
+ def gemspec_relative_path
15
+ source.gemspec_path.relative_path_from(gemfile_local.source.path).to_path
16
+ end
17
+
18
+ # @return [String]
19
+ def root_relative_path
20
+ source.path.relative_path_from(gemfile_local.source.path).to_path
21
+ end
22
+
23
+ # @return [String]
24
+ def target_content
25
+ "gem '#{source.gem_name}', #{gem_options_content} if #{condition_content}\n"
26
+ end
27
+
28
+ protected
29
+
30
+ # @return [String]
31
+ def condition_content
32
+ "::File.directory?('#{gemspec_relative_path}')"
33
+ end
34
+
35
+ # @return [String]
36
+ def gem_option_path
37
+ ["::File.expand_path('", root_relative_path, "', __dir__)"].join
38
+ end
39
+
40
+ # @return [String]
41
+ def gem_option_require
42
+ 'false'
43
+ end
44
+
45
+ # @return [String]
46
+ def gem_options_content
47
+ %w[path require].map { |v| [v, send("gem_option_#{v}")].join(': ') }.join(', ')
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ class GemfileLocal
9
+ enable_simple_cache
10
+ common_constructor :source
11
+
12
+ def dependency_sub?(sub)
13
+ sub.is_a?(::Avm::EacRubyBase1::Sources::Base) &&
14
+ sub.gem_name != source.gem_name &&
15
+ source.gemfile_lock_gem_version(sub.gem_name).present?
16
+ end
17
+
18
+ # @return [String]
19
+ def target_content
20
+ siblings.map(&:target_content).join
21
+ end
22
+
23
+ # @return [Pathname]
24
+ def target_path
25
+ source.path.join('Gemfile.local')
26
+ end
27
+
28
+ def on_unexisting_gemfile_local
29
+ return yield unless target_path.exist?
30
+
31
+ ::EacRubyUtils::Fs::Temp.on_file do |temp_file|
32
+ ::FileUtils.cp(target_path, temp_file)
33
+ begin
34
+ ::FileUtils.rm_f(target_path)
35
+ yield
36
+ ensure
37
+ ::FileUtils.cp(temp_file, target_path)
38
+ end
39
+ end
40
+ end
41
+
42
+ def run_bundle
43
+ on_unexisting_gemfile_local do
44
+ source.bundle.execute!
45
+ rescue ::RuntimeError
46
+ source.bundle('update').execute!
47
+ end
48
+ end
49
+
50
+ # @return [void]
51
+ def write_target_file
52
+ target_path.write(target_content)
53
+ end
54
+
55
+ private
56
+
57
+ def siblings_uncached
58
+ source.parent.if_present([]) do |v|
59
+ v.subs.select { |sub| dependency_sub?(sub) }.map do |sub|
60
+ ::Avm::EacRubyBase1::Sources::GemfileLocal::Sibling.new(self, sub)
61
+ end
62
+ end
63
+ end
64
+
65
+ require_sub __FILE__
66
+ end
67
+ end
68
+ end
69
+ end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/eac_ruby_base1/sources/gemfile_local'
3
4
  require 'eac_cli/core_ext'
4
5
 
5
6
  module Avm
@@ -11,53 +12,17 @@ module Avm
11
12
  runner_with :help do
12
13
  bool_opt '-w', '--write', 'Write the Gemfile.local file.'
13
14
  end
15
+ delegate :siblings, to: :builder
14
16
 
15
17
  def run
16
18
  start_banner
17
- run_bundle
19
+ builder.run_bundle
18
20
  siblings_banner
19
21
  write_gemfile_local
20
22
  end
21
23
 
22
24
  private
23
25
 
24
- def gemfile_local_path
25
- the_source.path.join('Gemfile.local')
26
- end
27
-
28
- def gemfile_local_content
29
- siblings.map { |s| sibling_gemfile_local_line(s) }.join
30
- end
31
-
32
- def on_unexisting_gemfile_local
33
- return yield unless gemfile_local_path.exist?
34
-
35
- ::EacRubyUtils::Fs::Temp.on_file do |temp_file|
36
- ::FileUtils.cp(gemfile_local_path, temp_file)
37
- begin
38
- ::FileUtils.rm_f(gemfile_local_path)
39
- yield
40
- ensure
41
- ::FileUtils.cp(temp_file, gemfile_local_path)
42
- end
43
- end
44
- end
45
-
46
- def run_bundle
47
- on_unexisting_gemfile_local do
48
- the_source.bundle.execute!
49
- rescue ::RuntimeError
50
- the_source.bundle('update').execute!
51
- end
52
- end
53
-
54
- def sibling_gemfile_local_line(sibling)
55
- ["gem '#{sibling.gem_name}'", # rubocop:disable Style/StringConcatenation
56
- ["path: ::File.expand_path('",
57
- sibling.path.relative_path_from(the_source.path).to_path, "', __dir__)"].join,
58
- 'require: false'].join(', ') + "\n"
59
- end
60
-
61
26
  def start_banner
62
27
  runner_context.call(:source_banner)
63
28
  infov 'Parent', the_source.parent
@@ -73,24 +38,17 @@ module Avm
73
38
  def write_gemfile_local
74
39
  return unless parsed.write?
75
40
 
76
- infom "Writing #{gemfile_local_path}..."
77
- gemfile_local_path.write(gemfile_local_content)
78
- end
79
-
80
- def siblings_uncached
81
- the_source.parent.if_present([]) do |v|
82
- v.subs.select { |sub| dependency_sub?(sub) }
83
- end
41
+ infom "Writing #{builder.target_path}..."
42
+ builder.write_target_file
84
43
  end
85
44
 
86
45
  def the_source
87
46
  runner_context.call(:source)
88
47
  end
89
48
 
90
- def dependency_sub?(sub)
91
- sub.is_a?(::Avm::EacRubyBase1::Sources::Base) &&
92
- sub.gem_name != the_source.gem_name &&
93
- the_source.gemfile_lock_gem_version(sub.gem_name).present?
49
+ # @return [Avm::EacRubyBase1::Sources::GemfileLocal]
50
+ def builder_uncached
51
+ ::Avm::EacRubyBase1::Sources::GemfileLocal.new(the_source)
94
52
  end
95
53
  end
96
54
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.33.1'
5
+ VERSION = '0.33.2'
6
6
  end
7
7
  end
@@ -4,5 +4,5 @@ source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
6
 
7
- local_gemfile = ::File.join(::File.dirname(__FILE__), 'Gemfile.local')
8
- eval_gemfile local_gemfile if ::File.exist?(local_gemfile)
7
+ local_gemfile = File.join(File.dirname(__FILE__), 'Gemfile.local')
8
+ eval_gemfile local_gemfile if File.exist?(local_gemfile)
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- ::EacRubyUtils::Rspec.default_setup.describe_rubocop
3
+ EacRubyUtils::Rspec.default_setup.describe_rubocop
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/rspec/default_setup'
4
- ::EacRubyUtils::Rspec.default_setup_create(::File.expand_path('..', __dir__))
4
+ EacRubyUtils::Rspec.default_setup_create(File.expand_path('..', __dir__))
metadata CHANGED
@@ -1,137 +1,91 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-eac_ruby_base1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.33.1
4
+ version: 0.33.2
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-11-19 00:00:00.000000000 Z
11
+ date: 2024-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: aranha-parsers
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.22'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '0.22'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: avm
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: '0.84'
19
+ version: '0.91'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: '0.84'
26
+ version: '0.91'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: avm-eac_generic_base0
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '0.12'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 0.12.1
33
+ version: '0.13'
51
34
  type: :runtime
52
35
  prerelease: false
53
36
  version_requirements: !ruby/object:Gem::Requirement
54
37
  requirements:
55
38
  - - "~>"
56
39
  - !ruby/object:Gem::Version
57
- version: '0.12'
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 0.12.1
40
+ version: '0.13'
61
41
  - !ruby/object:Gem::Dependency
62
42
  name: eac_envs-http
63
43
  requirement: !ruby/object:Gem::Requirement
64
44
  requirements:
65
45
  - - "~>"
66
46
  - !ruby/object:Gem::Version
67
- version: '0.4'
47
+ version: '0.5'
68
48
  - - ">="
69
49
  - !ruby/object:Gem::Version
70
- version: 0.4.1
50
+ version: 0.5.1
71
51
  type: :runtime
72
52
  prerelease: false
73
53
  version_requirements: !ruby/object:Gem::Requirement
74
54
  requirements:
75
55
  - - "~>"
76
56
  - !ruby/object:Gem::Version
77
- version: '0.4'
57
+ version: '0.5'
78
58
  - - ">="
79
59
  - !ruby/object:Gem::Version
80
- version: 0.4.1
60
+ version: 0.5.1
81
61
  - !ruby/object:Gem::Dependency
82
62
  name: eac_ruby_utils
83
63
  requirement: !ruby/object:Gem::Requirement
84
64
  requirements:
85
65
  - - "~>"
86
66
  - !ruby/object:Gem::Version
87
- version: '0.119'
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: 0.119.2
67
+ version: '0.122'
91
68
  type: :runtime
92
69
  prerelease: false
93
70
  version_requirements: !ruby/object:Gem::Requirement
94
71
  requirements:
95
72
  - - "~>"
96
73
  - !ruby/object:Gem::Version
97
- version: '0.119'
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: 0.119.2
101
- - !ruby/object:Gem::Dependency
102
- name: aranha-parsers
103
- requirement: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - "~>"
106
- - !ruby/object:Gem::Version
107
- version: '0.14'
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: 0.14.1
111
- type: :development
112
- prerelease: false
113
- version_requirements: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '0.14'
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- version: 0.14.1
74
+ version: '0.122'
121
75
  - !ruby/object:Gem::Dependency
122
76
  name: eac_ruby_gem_support
123
77
  requirement: !ruby/object:Gem::Requirement
124
78
  requirements:
125
79
  - - "~>"
126
80
  - !ruby/object:Gem::Version
127
- version: '0.9'
81
+ version: '0.10'
128
82
  type: :development
129
83
  prerelease: false
130
84
  version_requirements: !ruby/object:Gem::Requirement
131
85
  requirements:
132
86
  - - "~>"
133
87
  - !ruby/object:Gem::Version
134
- version: '0.9'
88
+ version: '0.10'
135
89
  description:
136
90
  email:
137
91
  executables: []
@@ -200,6 +154,8 @@ files:
200
154
  - lib/avm/eac_ruby_base1/sources/base/version.rb
201
155
  - lib/avm/eac_ruby_base1/sources/base/version_bump.rb
202
156
  - lib/avm/eac_ruby_base1/sources/bundle_update.rb
157
+ - lib/avm/eac_ruby_base1/sources/gemfile_local.rb
158
+ - lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb
203
159
  - lib/avm/eac_ruby_base1/sources/namespace_replacer.rb
204
160
  - lib/avm/eac_ruby_base1/sources/runners.rb
205
161
  - lib/avm/eac_ruby_base1/sources/runners/bundle.rb