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/version.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/version.rb')
-rw-r--r-- | lib/rubygems/version.rb | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/lib/rubygems/version.rb b/lib/rubygems/version.rb index 8335ebe182..c581aa367f 100644 --- a/lib/rubygems/version.rb +++ b/lib/rubygems/version.rb @@ -217,12 +217,14 @@ class Gem::Version # Pre-release (alpha) parts, e.g, 5.3.1.b.2 => 5.4, are ignored. def bump - segments = self.segments.dup - segments.pop while segments.any? { |s| String === s } - segments.pop if segments.size > 1 - - segments[-1] = segments[-1].succ - self.class.new segments.join(".") + @bump ||= begin + segments = self.segments.dup + segments.pop while segments.any? { |s| String === s } + segments.pop if segments.size > 1 + + segments[-1] = segments[-1].succ + self.class.new segments.join(".") + end end ## @@ -291,11 +293,13 @@ class Gem::Version # Non-prerelease versions return themselves. def release - return self unless prerelease? - - segments = self.segments.dup - segments.pop while segments.any? { |s| String === s } - self.class.new segments.join('.') + @release ||= if prerelease? + segments = self.segments.dup + segments.pop while segments.any? { |s| String === s } + self.class.new segments.join('.') + else + self + end end def segments # :nodoc: |