module ReleaseNotes::Versioning::Semantic
Public Class Methods
increment(version, type)
click to toggle source
# File lib/release_notes/versioning/semantic.rb, line 6 def increment(version, type) if version.nil? ReleaseNotes.starting_version else parts = parse_version(version.gsub('.md', '')) if type.downcase == 'major' or type == 'M' parts = increment_major(parts) elsif type.downcase == 'minor' or type == 'm' parts = increment_minor(parts) else parts = increment_patch(parts) end new_version = parts.join('.') new_version end end
Protected Class Methods
increment_major(parts)
click to toggle source
# File lib/release_notes/versioning/semantic.rb, line 30 def increment_major(parts) parts[0] = (parts[0].to_i + 1).to_s parts[1] = '0' parts[2] = '0' parts end
increment_minor(parts)
click to toggle source
# File lib/release_notes/versioning/semantic.rb, line 37 def increment_minor(parts) parts[1] = (parts[1].to_i + 1).to_s parts[2] = '0' parts end
increment_patch(parts)
click to toggle source
# File lib/release_notes/versioning/semantic.rb, line 43 def increment_patch(parts) parts[2] = (parts[2].to_i + 1).to_s parts end
parse_version(version)
click to toggle source
# File lib/release_notes/versioning/semantic.rb, line 26 def parse_version(version) version.split('-').first.split('.') end