diff options
author | David RodrÃguez <[email protected]> | 2019-09-24 17:35:00 +0200 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2019-09-26 17:48:01 +0900 |
commit | 4f87a1583dce25749c0492146ef78fcb0319ccd2 (patch) | |
tree | 9f47bc533970179b938d95dad38f12b9c0926391 /lib/rubygems | |
parent | 6134fd7a646842ca67081cd07a182642307138bd (diff) |
[rubygems/rubygems] Introduce default prerelease requirement
https://github.com/rubygems/rubygems/commit/506c5bce49
Diffstat (limited to 'lib/rubygems')
-rwxr-xr-x | lib/rubygems/core_ext/kernel_require.rb | 2 | ||||
-rw-r--r-- | lib/rubygems/installer.rb | 2 | ||||
-rw-r--r-- | lib/rubygems/requirement.rb | 13 |
3 files changed, 14 insertions, 3 deletions
diff --git a/lib/rubygems/core_ext/kernel_require.rb b/lib/rubygems/core_ext/kernel_require.rb index 5516933a5c..858f0998a0 100755 --- a/lib/rubygems/core_ext/kernel_require.rb +++ b/lib/rubygems/core_ext/kernel_require.rb @@ -66,7 +66,7 @@ module Kernel if spec = Gem.find_unresolved_default_spec(path) begin - Kernel.send(:gem, spec.name, "#{Gem::Requirement.default}.a") + Kernel.send(:gem, spec.name, Gem::Requirement.default_prerelease) rescue Exception RUBYGEMS_ACTIVATION_MONITOR.exit raise diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb index a40deefc5a..898f6e46a1 100644 --- a/lib/rubygems/installer.rb +++ b/lib/rubygems/installer.rb @@ -776,7 +776,7 @@ class Gem::Installer require 'rubygems' -version = "#{Gem::Requirement.default}.a" +version = "#{Gem::Requirement.default_prerelease}" str = ARGV.first if str diff --git a/lib/rubygems/requirement.rb b/lib/rubygems/requirement.rb index b72921e72c..1e17fc2dc2 100644 --- a/lib/rubygems/requirement.rb +++ b/lib/rubygems/requirement.rb @@ -32,11 +32,16 @@ class Gem::Requirement PATTERN = /\A#{PATTERN_RAW}\z/.freeze ## - # The default requirement matches any version + # The default requirement matches any non-prerelease version DefaultRequirement = [">=", Gem::Version.new(0)].freeze ## + # The default requirement matches any version + + DefaultPrereleaseRequirement = [">=", Gem::Version.new("0.a")].freeze + + ## # Raised when a bad requirement is encountered class BadRequirementError < ArgumentError; end @@ -73,6 +78,10 @@ class Gem::Requirement new '>= 0' end + def self.default_prerelease + new '>= 0.a' + end + ### # A source set requirement, used for Gemfiles and lockfiles @@ -101,6 +110,8 @@ class Gem::Requirement if $1 == ">=" && $2 == "0" DefaultRequirement + elsif $1 == ">=" && $2 == "0.a" + DefaultPrereleaseRequirement else [$1 || "=", Gem::Version.new($2)] end |