class RakeRoll::Versioning

Attributes

current_version[R]

Public Class Methods

new(current_version) click to toggle source
# File lib/rake_roll/versioning.rb, line 7
def initialize(current_version)
  @current_version = validate_current_version(current_version)
end

Public Instance Methods

bump_example() click to toggle source
# File lib/rake_roll/versioning.rb, line 35
def bump_example
  return unless current_version
  if nums = current_version.dup
    last_number = nums[-1].scan(/\d+/).first.to_i
    last_number = last_number + 5
    nums[-1] = last_number
    nums.join(".")
  end
end
major() click to toggle source
# File lib/rake_roll/versioning.rb, line 57
def major
  return unless current_version
  if nums = current_version.dup
    major_number = nums[0].scan(/\d+/).first.to_i
    major_number = major_number + 1
    nums[0] = major_number
    nums[-1] = "0"
    nums[-2] = "0" if nums.length == 3
    nums.join(".")
  end
end
minor() click to toggle source
# File lib/rake_roll/versioning.rb, line 45
def minor
  return unless current_version
  if nums = current_version.dup
    minor_number = nums[1].scan(/\d+/).first.to_i
    minor_number = minor_number + 1
    nums[1] = minor_number.to_s
    nums.last.gsub!(/\D/, "")
    nums[-1] = "0" if nums.length == 3
    nums.join(".")
  end
end
next() click to toggle source
# File lib/rake_roll/versioning.rb, line 69
def next
  'NEXT'
end
pre() click to toggle source
# File lib/rake_roll/versioning.rb, line 11
def pre
  return unless current_version
  if nums = current_version.dup
    pre_letter = nums[-1].scan(/\D/).first
    if pre_letter
      next_letter = pre_letter.next
      nums[-1].gsub!(pre_letter, next_letter)
    else
      nums[-1] = nums[-1] + "a"
    end
    nums.join(".")
  end
end
revision() click to toggle source
# File lib/rake_roll/versioning.rb, line 25
def revision
  return unless current_version
  if nums = current_version.dup
    last_number = nums[-1].scan(/\d+/).first.to_i
    last_number = last_number + 1
    nums[-1] = last_number
    nums.join(".")
  end
end

Private Instance Methods

validate_current_version(current) click to toggle source
# File lib/rake_roll/versioning.rb, line 75
def validate_current_version(current)
  return unless current
  splits = current.split(".")
  splits.size < 2 || splits.size > 3 ? false : splits
end