From 47f0248b0858898dd24d1e654cedf174059ca677 Mon Sep 17 00:00:00 2001 From: drbrain Date: Tue, 9 Jul 2013 23:21:36 +0000 Subject: * lib/rubygems: Import RubyGems 2.1 * test/rubygems: Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems/version.rb | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'lib/rubygems/version.rb') diff --git a/lib/rubygems/version.rb b/lib/rubygems/version.rb index e983751c17..fa9bbc5a9d 100644 --- a/lib/rubygems/version.rb +++ b/lib/rubygems/version.rb @@ -147,13 +147,16 @@ class Gem::Version # FIX: These are only used once, in .correct?. Do they deserve to be # constants? - VERSION_PATTERN = '[0-9]+(\.[0-9a-zA-Z]+)*' # :nodoc: + VERSION_PATTERN = '[0-9]+(\.[0-9a-zA-Z]+)*(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?' # :nodoc: ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})*\s*\z/ # :nodoc: ## # A string representation of this Version. - attr_reader :version + def version + @version.dup + end + alias to_s version ## @@ -183,6 +186,12 @@ class Gem::Version end end + @@all = {} + + def self.new version + @@all[version] ||= super + end + ## # Constructs a Version from the +version+ string. A version string is a # series of digits or ASCII letters separated by dots. @@ -191,7 +200,8 @@ class Gem::Version raise ArgumentError, "Malformed version number string #{version}" unless self.class.correct?(version) - @version = version.to_s.dup.strip + @version = version.to_s.strip.gsub("-",".pre.") + @segments = nil end ## -- cgit v1.2.3