def self.run(args = nil)
cmd = new(args)
case cmd.command
when /^(?:--?)?status$/
cmd.status(cmd.command)
when /^(?:--?)?restart$/
cmd.stop(cmd.command)
cmd.start
when /^(?:--?)?start$/
cmd.start
when /^(?:--?)?create$/
cmd.create(cmd.command)
when /^(?:--?)?stop$/
if cmd.stop(cmd.command)
puts "Autumn session has ended."
$stdout.flush
else
puts "Autumn failed to stop (or was not running)"
end
when /^(?:--?)?console$/
require "irb"
require "irb/completion"
cmd.include_autumn
require "lib/genesis"
IRB.start
puts "Autumn session has ended."
when /^(?:--?)?h(elp)?$/
puts cmd.usage
when /^(?:--?)?v(ersion)?$/
cmd.include_autumn
puts Autumn::VERSION
exit
when /^$/
puts "Must supply a valid command"
puts cmd.usage
exit 1
else
puts "#{command} not implemented"
puts cmd.usage
exit 1
end
end