44 lines
598 B
Ruby
44 lines
598 B
Ruby
require_relative './loader'
|
|
|
|
module Feature
|
|
|
|
class Commander
|
|
|
|
COMMANDS = [
|
|
:branch,
|
|
:commit,
|
|
:help,
|
|
:end,
|
|
:rebase,
|
|
:republish,
|
|
:merge,
|
|
:start,
|
|
:tab,
|
|
:trash
|
|
].sort
|
|
|
|
DEFAULT = :help
|
|
|
|
attr_reader :subcommand
|
|
|
|
def initialize (argv)
|
|
key = (argv[0] ? argv[0].to_sym : :branch)
|
|
@subcommand = Feature::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
|