Sha256: 5f6ca3fe5ed64f6adf63c579015f9ddf4e1a78f5044997265dfa2bbb5e20ffa7
Contents?: true
Size: 1.27 KB
Versions: 4
Compression:
Stored size: 1.27 KB
Contents
require 'yaml' class Bueller class VersionHelper class VersionMissing < StandardError; end class MalformattedVersion < StandardError; end attr_accessor :gemspec_helper attr_reader :major, :minor, :patch, :build def initialize(gemspec_helper) self.gemspec_helper = gemspec_helper parse_version end def parse_version # http://rubular.com/regexes/10467 -> 3.5.4.a1 # http://rubular.com/regexes/10468 -> 3.5.4 raise VersionMissing unless gemspec_helper.has_version? if gemspec_helper.version.to_s =~ /^(\d+)\.(\d+)\.(\d+)(?:\.(.*?))?$/ @major = $1.to_i @minor = $2.to_i @patch = $3.to_i @build = $4 else raise MalformattedVersion, "Version doesn't match expected format: #{gemspec_helper.version}" end end def bump_major @major += 1 @minor = 0 @patch = 0 @build = nil end def bump_minor @minor += 1 @patch = 0 @build = nil end def bump_patch @patch += 1 @build = nil end def update_to(major, minor, patch, build=nil) @major = major @minor = minor @patch = patch @build = build end def to_s [major, minor, patch, build].compact.join('.') end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
bueller-0.0.4 | lib/bueller/version_helper.rb |
bueller-0.0.3 | lib/bueller/version_helper.rb |
bueller-0.0.2 | lib/bueller/version_helper.rb |
bueller-0.0.1 | lib/bueller/version_helper.rb |