class Object
Public Instance Methods
increment_semver(semver, increment_type = "patch")
click to toggle source
Increment a version code following SemVer Scheme
@param semver [String] the version code to update, e.g. “1.2.3” @param increment_type [String] the version code to update, e.g. “1.2.3” @return [String] the version code updated according to increment_type
@example Default increment (patch)
increment_semver("1.2.3") #=> "1.2.4"
@example Increment for given type
increment_semver("1.2.3", "major") #=> "2.0.0"
# File lib/increment_semver.rb, line 13 def increment_semver(semver, increment_type = "patch") if not (/\d+\.\d+\.\d+/).match(semver) raise "Your semantic version must match the format 'X.X.X'." end if not ["patch", "minor", "major"].include?(increment_type) raise "Only 'patch', 'minor', and 'major' are supported increment types." end major, minor, patch = semver.split(".") case increment_type when "patch" patch = patch.to_i + 1 when "minor" minor = minor.to_i + 1 patch = 0 when "major" major = major.to_i + 1 minor = 0 patch = 0 end return "#{major}.#{minor}.#{patch}" end