diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-03-12 21:44:56 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-03-12 21:44:56 +0000 |
commit | 7244db9da3a02fc5577200ad67a2e132b4a41f26 (patch) | |
tree | 950603fd0ce72f0b0c09377d98c137cbbc3d473e /lib | |
parent | 213582c85e18d428c192d620bb930ed0acfcd675 (diff) |
Merge RubyGems 2.7.6.2 patch [Bug #15643]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rubygems.rb | 9 | ||||
-rw-r--r-- | lib/rubygems/bundler_version_finder.rb | 26 |
2 files changed, 7 insertions, 28 deletions
diff --git a/lib/rubygems.rb b/lib/rubygems.rb index cd7434ca87..f3671d9f2a 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -10,7 +10,7 @@ require 'rbconfig' require 'thread' module Gem - VERSION = "2.7.6.1" + VERSION = "2.7.6.2" end # Must be first since it unloads the prelude from 1.9.2 @@ -270,12 +270,7 @@ module Gem return loaded if loaded && dep.matches_spec?(loaded) - find_specs = proc { dep.matching_specs(true) } - if dep.to_s == "bundler (>= 0.a)" - specs = Gem::BundlerVersionFinder.without_filtering(&find_specs) - else - specs = find_specs.call - end + specs = dep.matching_specs(true) specs = specs.find_all { |spec| spec.executables.include? exec_name diff --git a/lib/rubygems/bundler_version_finder.rb b/lib/rubygems/bundler_version_finder.rb index baca170840..ba25399d1e 100644 --- a/lib/rubygems/bundler_version_finder.rb +++ b/lib/rubygems/bundler_version_finder.rb @@ -1,12 +1,4 @@ module Gem::BundlerVersionFinder - @without_filtering = false - - def self.without_filtering - without_filtering, @without_filtering = true, @without_filtering - yield - ensure - @without_filtering = without_filtering - end def self.bundler_version version, _ = bundler_version_with_reason @@ -17,8 +9,6 @@ module Gem::BundlerVersionFinder end def self.bundler_version_with_reason - return if @without_filtering - if v = ENV["BUNDLER_VERSION"] return [v, "`$BUNDLER_VERSION`"] end @@ -36,7 +26,7 @@ module Gem::BundlerVersionFinder return unless vr = bundler_version_with_reason <<-EOS Could not find 'bundler' (#{vr.first}) required by #{vr.last}. -To update to the lastest version installed on your system, run `bundle update --bundler`. +To update to the latest version installed on your system, run `bundle update --bundler`. To install the missing version, run `gem install bundler:#{vr.first}` EOS end @@ -44,20 +34,14 @@ To install the missing version, run `gem install bundler:#{vr.first}` def self.compatible?(spec) return true unless spec.name == "bundler".freeze return true unless bundler_version = self.bundler_version - if bundler_version.segments.first >= 2 - spec.version == bundler_version - else # 1.x - spec.version.segments.first < 2 - end + + spec.version.segments.first == bundler_version.segments.first end def self.filter!(specs) return unless bundler_version = self.bundler_version - if bundler_version.segments.first >= 2 - specs.reject! { |spec| spec.version != bundler_version } - else # 1.x - specs.reject! { |spec| spec.version.segments.first >= 2} - end + + specs.reject! { |spec| spec.version.segments.first != bundler_version.segments.first } end def self.bundle_update_bundler_version |