42 lines
565 B
Ruby
42 lines
565 B
Ruby
require_relative './loader'
|
|
|
|
module Release
|
|
|
|
class Commander
|
|
|
|
COMMANDS = [
|
|
:finish,
|
|
:help,
|
|
:init,
|
|
:major,
|
|
:minor,
|
|
:patch,
|
|
:tab,
|
|
:trash
|
|
].sort
|
|
|
|
DEFAULT = :help
|
|
|
|
attr_reader :subcommand
|
|
|
|
def initialize (argv)
|
|
key = (argv[0] ? argv[0].to_sym : :branch)
|
|
@subcommand = Release::Loader.new(COMMANDS,DEFAULT).create(key,argv)
|
|
end
|
|
|
|
def valid?
|
|
subcommand.valid?
|
|
end
|
|
|
|
def usage
|
|
subcommand.usage
|
|
end
|
|
|
|
def execute
|
|
subcommand.execute
|
|
end
|
|
|
|
end
|
|
|
|
end
|