diff options
author | Michael Siegfried <michaeldsiegfried@gmail.com> | 2022-11-16 16:18:34 -0800 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2022-12-20 13:15:02 +0900 |
commit | e58d18bf23a4dff7f17c76e6a3c762896cc2d807 (patch) | |
tree | c9f241d4d6d0629555c0c36e84ef6085b8c07a30 /lib | |
parent | c67f6c4dafbc868c36b3e021331fe0b1fac680f5 (diff) | |
download | ruby-e58d18bf23a4dff7f17c76e6a3c762896cc2d807.tar.gz |
[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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bundler/gem_version_promoter.rb | 15 |
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 |