module Vtasks::Utils::Semver

Semver module

Constants

SEM_LEVELS

Public Instance Methods

bump(level) click to toggle source

Increment the version number

# File lib/vtasks/utils/semver.rb, line 22
def bump(level)
  new_version = semver.dup
  new_version[level] = new_version[level].to_i + 1
  to_zero = SEM_LEVELS[SEM_LEVELS.index(level) + 1..SEM_LEVELS.size]
  to_zero.each { |z| new_version[z] = 0 }
  new_version
end
gitver() click to toggle source

Semantic version (from git tags)

# File lib/vtasks/utils/semver.rb, line 8
def gitver
  `git describe --always --tags 2>/dev/null || echo '0.0.0-0-0'`.chomp
end
semver() click to toggle source

Create semantic version hash

# File lib/vtasks/utils/semver.rb, line 13
def semver
  @semver ||= begin
    {}.tap do |h|
      h[:major], h[:minor], h[:patch], h[:rev], h[:rev_hash] = gitver[1..-1].split(/[.-]/)
    end
  end
end