avm-eac_ruby_base1 0.33.1 → 0.33.2

Sign up to get free protection for your applications and to get access to all the features.
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