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