class Raketeer::BumpVer
Bump
Version
@author Jonathan Bradley Whited @since 0.2.4
Public Class Methods
new(version: nil,major: nil,minor: nil,patch: nil,prerelease: nil,build_meta: nil)
click to toggle source
Calls superclass method
# File lib/raketeer/bump_ver.rb, line 22 def initialize(version: nil,major: nil,minor: nil,patch: nil,prerelease: nil,build_meta: nil) super() self.build_meta = build_meta self.major = major self.minor = minor self.patch = patch self.prerelease = prerelease self.version = version end
Public Instance Methods
build_meta=(build_meta)
click to toggle source
Calls superclass method
# File lib/raketeer/bump_ver.rb, line 133 def build_meta=(build_meta) super(init_str(build_meta)) end
bump!(sem_ver)
click to toggle source
# File lib/raketeer/bump_ver.rb, line 47 def bump!(sem_ver) if !@version.nil? sem_ver.version = @version else if !@major.nil? if @major.is_a?(Integer) sem_ver.major = @major elsif @major.empty? sem_ver.major = 0 # There must always be a major version else sem_ver.major = 0 if sem_ver.major.nil? old_major = sem_ver.major sem_ver.major += @major.to_i if sem_ver.major != old_major # Reset minor & patch so that 1.1.1 => 2.0.0. # If the user wishes, minor & patch will continue # to be affected after ('+1.+1.+1'). sem_ver.minor = 0 sem_ver.patch = 0 # It's difficult to decide whether to set # pre-release and build-metadata to nil, # so just leave them. end end end if !@minor.nil? if @minor.is_a?(Integer) sem_ver.minor = @minor elsif @minor.empty? sem_ver.minor = nil else sem_ver.minor = 0 if sem_ver.minor.nil? old_minor = sem_ver.minor sem_ver.minor += @minor.to_i if sem_ver.minor != old_minor # Reset patch so that 1.1.1 => 1.2.0. # If the user wishes, patch will continue # to be affected after ('X.+1.+1'). sem_ver.patch = 0 end end end if !@patch.nil? if @patch.is_a?(Integer) sem_ver.patch = @patch elsif @patch.empty? sem_ver.patch = nil else sem_ver.patch = 0 if sem_ver.patch.nil? sem_ver.patch += @patch.to_i end end if !@prerelease.nil? if @prerelease.empty? sem_ver.prerelease = nil else sem_ver.prerelease = @prerelease end end if !@build_meta.nil? if @build_meta.empty? sem_ver.build_meta = nil else sem_ver.build_meta = @build_meta end end end return sem_ver end
bump_line!(line,sem_ver,strict: false)
click to toggle source
# File lib/raketeer/bump_ver.rb, line 127 def bump_line!(line,sem_ver,strict: false) line.sub!(self.class.regex(strict),bump!(sem_ver).to_s) return line end
init_int_or_str(obj)
click to toggle source
# File lib/raketeer/bump_ver.rb, line 33 def init_int_or_str(obj) return nil if obj.nil? return obj if obj.is_a?(Integer) obj = obj.to_s.strip return obj if obj.empty? || obj[0] == '+' return obj.to_i end
init_str(obj)
click to toggle source
# File lib/raketeer/bump_ver.rb, line 43 def init_str(obj) return obj.nil? ? nil : obj.to_s.strip end
major=(major)
click to toggle source
Calls superclass method
# File lib/raketeer/bump_ver.rb, line 137 def major=(major) super(init_int_or_str(major)) end
minor=(minor)
click to toggle source
Calls superclass method
# File lib/raketeer/bump_ver.rb, line 141 def minor=(minor) super(init_int_or_str(minor)) end
patch=(patch)
click to toggle source
Calls superclass method
# File lib/raketeer/bump_ver.rb, line 145 def patch=(patch) super(init_int_or_str(patch)) end
prerelease=(prerelease)
click to toggle source
Calls superclass method
# File lib/raketeer/bump_ver.rb, line 149 def prerelease=(prerelease) super(init_str(prerelease)) end
version=(version)
click to toggle source
Calls superclass method
# File lib/raketeer/bump_ver.rb, line 153 def version=(version) super(init_str(version)) end