diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-27 13:00:45 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-27 13:00:45 +0000 |
commit | d9c32d62a06edf6bcfaf357e44173cefd92778ee (patch) | |
tree | ba0a22afc2b02ca4c6eba226ff27c120595968a7 /lib/rubygems/requirement.rb | |
parent | b89e894399016def7979168d16eff9026012a710 (diff) | |
download | ruby-d9c32d62a06edf6bcfaf357e44173cefd92778ee.tar.gz |
* lib/rubygems: Update to RubyGems 2.4.6 and HEAD(800f2e6).
Fixed #1159, #1171, #1173 on rubygems/rubygems
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/requirement.rb')
-rw-r--r-- | lib/rubygems/requirement.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/rubygems/requirement.rb b/lib/rubygems/requirement.rb index bcf5fb967e..572bf9673e 100644 --- a/lib/rubygems/requirement.rb +++ b/lib/rubygems/requirement.rb @@ -23,6 +23,8 @@ class Gem::Requirement "~>" => lambda { |v, r| v >= r && v.release < r.bump } } + SOURCE_SET_REQUIREMENT = Struct.new(:for_lockfile).new "!" # :nodoc: + quoted = OPS.keys.map { |k| Regexp.quote k }.join "|" PATTERN_RAW = "\\s*(#{quoted})?\\s*(#{Gem::Version::VERSION_PATTERN})\\s*" # :nodoc: @@ -54,6 +56,8 @@ class Gem::Requirement input when Gem::Version, Array then new input + when '!' then + source_set else if input.respond_to? :to_str then new [input.to_str] @@ -70,6 +74,13 @@ class Gem::Requirement new '>= 0' end + ### + # A source set requirement, used for Gemfiles and lockfiles + + def self.source_set # :nodoc: + SOURCE_SET_REQUIREMENT + end + ## # Parse +obj+, returning an <tt>[op, version]</tt> pair. +obj+ can # be a String or a Gem::Version. |