class RakeVersion::Version

Constants

REGEXP

Attributes

build[R]
major[R]
minor[R]
patch[R]
prerelease[R]

Public Class Methods

new() click to toggle source
# File lib/rake-version/version.rb, line 13
def initialize
  @major = 0
  @minor = 0
  @patch = 0
  @prerelease = nil
  @build = nil
end

Public Instance Methods

bump(type) click to toggle source
# File lib/rake-version/version.rb, line 21
def bump type
  case type
  when :major
    @major += 1
    @minor = 0
    @patch = 0
  when :minor
    @minor += 1
    @patch = 0
  when :patch
    @patch += 1
  else
    raise BadBumpType, "Unknown version bump type #{type.inspect}. Expecting :major, :minor or :patch."
  end
  self
end
from_s(s) click to toggle source
# File lib/rake-version/version.rb, line 38
def from_s s
  s.to_s.match(REGEXP).tap do |m|
    raise BadVersionString, "Version '#{s}' expected to have format MAJOR.MINOR.PATCH(-PRERELEASE)(+BUILD)." if m.nil?
    @major = m[1].to_i
    @minor = m[2].to_i
    @patch = m[3].to_i
    @prerelease = m[4]
    @build = m[5]
  end
  self
end
to_s() click to toggle source
# File lib/rake-version/version.rb, line 50
def to_s
  String.new.tap do |s|
    s << "#{@major}.#{@minor}.#{@patch}"
    s << "-#{@prerelease}" if @prerelease
    s << "+#{@build}" if @build
  end
end