module Version

Constants

COMMANDS
REGEX

Public Class Methods

run() click to toggle source
# File lib/version.rb, line 10
def run
        version = ARGV[0]
        command = ARGV[1]

        unless ARGV.size > 1 or version =~ REGEX
                puts 'Usage: version <version> <command>'
                puts
                puts 'Commands:'
                puts "\tmajor\tUpgrade major number"
                puts "\tminor\tUpgrade minor number"
                puts "\tpatch\tUpgrade patch number"
                puts
                puts 'Example:'
                puts "\tversion 1.3.5 minor"
                exit 0
        end

        parts = version.scan(REGEX)
        parts = parts.first
        parts.map! { |i| i.to_i }

        major = parts[0]
        minor = parts[1]
        patch = parts[2]

        if command == COMMANDS[0]
                major += 1
                minor = 0
                patch = 0
        elsif command == COMMANDS[1]
                minor += 1
                patch = 0
        else
                patch += 1
        end

        puts "#{major}.#{minor}.#{patch}"
        exit 1
end