class Rubicon::Version

Constants

POSITIONS

Attributes

current[R]

Public Class Methods

new() click to toggle source
# File lib/rubicon/version.rb, line 10
def initialize
  @current = read
end

Public Instance Methods

release(category) click to toggle source
# File lib/rubicon/version.rb, line 14
def release(category)
  new_version = bump_version(category).join('.')
  write(new_version)
  git_tag(new_version)
end

Private Instance Methods

bump_version(category, array = old_version) click to toggle source
# File lib/rubicon/version.rb, line 26
def bump_version(category, array = old_version)
  position = POSITIONS[category]

  array[position] += 1
  stable = array[0..position]
  reset = Array.new(array[(position + 1)..-1].size, 0)

  stable + reset
end
git_tag(version) click to toggle source
# File lib/rubicon/version.rb, line 36
def git_tag(version)
  git_command("git tag v#{version}")
end
old_version() click to toggle source
# File lib/rubicon/version.rb, line 22
def old_version
  current.split('.').map(&:to_i)
end