summaryrefslogtreecommitdiff
path: root/lib/bundler
diff options
context:
space:
mode:
authorMichael Siegfried <michaeldsiegfried@gmail.com>2022-11-16 16:18:34 -0800
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2022-12-20 13:15:02 +0900
commite58d18bf23a4dff7f17c76e6a3c762896cc2d807 (patch)
treec9f241d4d6d0629555c0c36e84ef6085b8c07a30 /lib/bundler
parentc67f6c4dafbc868c36b3e021331fe0b1fac680f5 (diff)
[rubygems/rubygems] Return early outside of loop
The conditions are not dependent on each spec and can be checked once at the beginning of the method. https://github.com/rubygems/rubygems/commit/086bc9433f
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6966
Diffstat (limited to 'lib/bundler')
-rw-r--r--lib/bundler/gem_version_promoter.rb15
1 files changed, 6 insertions, 9 deletions
diff --git a/lib/bundler/gem_version_promoter.rb b/lib/bundler/gem_version_promoter.rb
index f3a7ed7787..061764cbf4 100644
--- a/lib/bundler/gem_version_promoter.rb
+++ b/lib/bundler/gem_version_promoter.rb
@@ -70,19 +70,16 @@ module Bundler
def filter_dep_specs(specs, package)
locked_version = package.locked_version
+ return specs if locked_version.nil? || major?
specs.select do |spec|
- if locked_version && !major?
- gsv = spec.version
- lsv = locked_version
+ gsv = spec.version
+ lsv = locked_version
- must_match = minor? ? [0] : [0, 1]
+ must_match = minor? ? [0] : [0, 1]
- matches = must_match.map {|idx| gsv.segments[idx] == lsv.segments[idx] }
- matches.uniq == [true] ? (gsv >= lsv) : false
- else
- true
- end
+ matches = must_match.map {|idx| gsv.segments[idx] == lsv.segments[idx] }
+ matches.uniq == [true] ? (gsv >= lsv) : false
end
end