Sha256: ff408c4e8d76125eaade10ffa3588e9dd393762f4ff13d2cda077b52d32b598d
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
module GitSu VERSION = "0.0.2" class Version class ParseError < StandardError end REGEX = /(\d+)\.(\d+).(\d+)/ def self.parse(string) raise ParseError, "Couldn't parse string '#{string}' as version" unless REGEX =~ string parts = REGEX.match(string)[1..3].map {|e| e.to_i } Version.new(*parts) end def self.current Version.parse(VERSION) end def self.prompt(input, output, prompt, default) output.print "#{prompt} [#{default}]: " value = input.gets.strip if value.empty? default else Version.parse value end end attr_reader :major, :minor, :patch def initialize(major, minor, patch) @major, @minor, @patch = major, minor, patch end def next_minor Version.new(@major, @minor + 1, @patch) end def ==(other) eql? other end def eql?(other) major = other.major && minor == other.minor && patch == other.patch end def to_s "#{major}.#{minor}.#{patch}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gitsu-0.0.2 | lib/gitsu/version.rb |