class Routemaster::CLI::Toplevel
Constants
- SUBCOMMANDS
Public Class Methods
new(stderr: STDERR, stdout: STDOUT)
click to toggle source
# File routemaster/cli/top_level.rb, line 15 def initialize(stderr: STDERR, stdout: STDOUT) @stderr = stderr @stdout = stdout end
Public Instance Methods
run(argv)
click to toggle source
# File routemaster/cli/top_level.rb, line 20 def run(argv) handler = SUBCOMMANDS.find do |kls| argv.take(kls.prefix.length) == kls.prefix end bad_subcommand! if handler.nil? subargv = argv[handler.prefix.length..-1] handler.new(stderr: @stderr, stdout: @stdout).run(subargv) end
Private Instance Methods
bad_subcommand!()
click to toggle source
# File routemaster/cli/top_level.rb, line 33 def bad_subcommand! log "Usage:" SUBCOMMANDS.each do |kls| log kls.syntax log kls.descr end raise Exit, 1 end
log(message)
click to toggle source
# File routemaster/cli/top_level.rb, line 42 def log(message) @stderr.puts(message) end