From e58d18bf23a4dff7f17c76e6a3c762896cc2d807 Mon Sep 17 00:00:00 2001 From: Michael Siegfried Date: Wed, 16 Nov 2022 16:18:34 -0800 Subject: [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 --- lib/bundler/gem_version_promoter.rb | 15 ++++++--------- 1 file 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 -- cgit v1.2.3