class Semver
Attributes
version[RW]
Public Class Methods
new(version=nil)
click to toggle source
# File lib/smart_semver/semver.rb, line 20 def initialize(version=nil) @version = version ||= '0.1.0' end
Public Instance Methods
increment(current, which)
click to toggle source
# File lib/smart_semver/semver.rb, line 38 def increment(current, which) version, flag = current.split '-' v = version.split '.' v[which] = v[which].to_i + 1 [v.join('.'), flag].compact.join '-' end
reset(current, which)
click to toggle source
# File lib/smart_semver/semver.rb, line 45 def reset(current, which) version, flag = current.split '-' v = version.split '.' which.each do |part| v[part] = 0 end [v.join('.'), flag].compact.join '-' end
valid?()
click to toggle source
# File lib/smart_semver/semver.rb, line 54 def valid? pattern = /^\d+\.\d+\.\d+(\-(dev|beta|rc\d+))?$/ version =~ pattern ? true : false end
version=(version)
click to toggle source
# File lib/smart_semver/semver.rb, line 28 def version=(version) before = @version @version = version # if invalid versioning sytax, reset value unless valid? @version = before end end