class SemverBump::SemVer

Constants

MATCHER
PARTS

Public Class Methods

new(ver) click to toggle source
# File lib/semver_bump/semver.rb, line 12
def initialize(ver)
  @major, @minor, @patch, @pre_raw = MATCHER.match(ver).captures.collect { |v|
    if v.to_i == 0 && v != '0'
      v
    else
      v.to_i
    end
  }
end
valid?(ver) click to toggle source
# File lib/semver_bump/semver.rb, line 8
def self.valid?(ver)
  MATCHER =~ ver
end

Public Instance Methods

bump_patch() click to toggle source
# File lib/semver_bump/semver.rb, line 53
def bump_patch
  if pre && pre > 0
    send(:pre=,0)
  else
    send(:patch=,(send(:patch)+1))
  end
end
bump_pre() click to toggle source
# File lib/semver_bump/semver.rb, line 61
def bump_pre
  if !pre || pre == 0
    bump_patch
    send(:pre=,1)
  else
    send(:pre=,(send(:pre)+1))
  end
  self
end
get_pre() click to toggle source
# File lib/semver_bump/semver.rb, line 26
def get_pre
  return 0 unless pre_raw
  matches = (/(\d)/.match(pre_raw.to_s))
  return 0 unless matches.respond_to?(:captures)
  matches.captures.first.to_i
end
get_pre_s() click to toggle source
# File lib/semver_bump/semver.rb, line 37
def get_pre_s
  @pre_s = pre_raw.to_s.gsub(/\d/,'')
  @pre_s = 'pre' if !@pre_s || @pre_s == ''
  @pre_s
end
pre() click to toggle source
# File lib/semver_bump/semver.rb, line 22
def pre
  @pre ||= get_pre
end
pre_s() click to toggle source
# File lib/semver_bump/semver.rb, line 33
def pre_s
  "#{get_pre_s}#{pre}"
end
primary() click to toggle source
# File lib/semver_bump/semver.rb, line 71
def primary
  "#{@major}.#{@minor}.#{@patch}"
end
to_s() click to toggle source
# File lib/semver_bump/semver.rb, line 75
def to_s
  return [primary,pre_s].compact.join('.') if pre && pre > 0
  primary
end