class Gem::VersionImproved
Public Class Methods
new(version)
click to toggle source
Calls superclass method
# File lib/rake/helpers/gemversion.rb, line 5 def initialize(version) # dup version # to avoid error on earlier versions of Gem::Version with frozen strings super(version.nil? ? version : version.dup) @version = '0.0.0.0' if @version.empty? # avoid bug when Gem::Version <= 1.3.7 @segments = nil end
Public Instance Methods
build()
click to toggle source
The build for this version (e.g. 1.2.0.a -> 1.2.1). Non-prerelease versions return themselves.
# File lib/rake/helpers/gemversion.rb, line 31 def build return self unless prerelease? segments = self.segments.dup segments.pop while segments.any? { |s| String === s } segments[-1] = segments[-1].succ self.class.new segments.join('.') end
build_num()
click to toggle source
The build number
# File lib/rake/helpers/gemversion.rb, line 42 def build_num segments = self.segments.dup segments.pop while segments.any? { |s| String === s } segments.pop while segments.size > 4 segments.size == 4 ? segments[-1] : nil end
comma()
click to toggle source
# File lib/rake/helpers/gemversion.rb, line 77 def comma segments.dup.join(',') end
major()
click to toggle source
# File lib/rake/helpers/gemversion.rb, line 61 def major segments = self.segments.dup segments.pop while segments.any? { |s| String === s } segments.pop while segments.size > 1 segments[-1] end
minor()
click to toggle source
# File lib/rake/helpers/gemversion.rb, line 69 def minor segments = self.segments.dup segments.pop while segments.any? { |s| String === s } segments.pop while segments.size > 2 segments.size == 2 ? segments[-1] : nil end
prev_release()
click to toggle source
Return a new version object where the previous to the last revision number is one lower (e.g., 5.3.1 => 5.2).
Pre-release (alpha) parts, e.g, 5.3.1.b.2 => 5.2, are ignored.
# File lib/rake/helpers/gemversion.rb, line 19 def prev_release segments = self.segments.dup segments.pop while segments.any? { |s| String === s } segments.pop if segments.size > 1 segments[-1] = segments[-1].to_i.pred.to_s self.class.new segments.join(".") end
release_num()
click to toggle source
Returns release only part (e.g. 1.2.3.4 -> 3, 1.2.3 -> 2)
# File lib/rake/helpers/gemversion.rb, line 53 def release_num segments = self.segments.dup segments.pop while segments.any? { |s| String === s } segments.pop if segments.size > 1 segments[-1] end