module Balancer class CLI < Command class_option :verbose, type: :boolean class_option :noop, type: :boolean desc "hello NAME", "Say hello to NAME." long_desc Help.text(:hello) option :from, desc: "from person" def hello(name="you") puts "from: #{options[:from]}" if options[:from] puts "Hello #{name}" end desc "sub SUBCOMMAND", "sub subcommands" long_desc Help.text(:sub) subcommand "sub", Sub desc "completion *PARAMS", "Prints words for auto-completion." long_desc Help.text("completion") def completion(*params) Completer.new(CLI, *params).run end desc "completion_script", "Generates a script that can be eval to setup auto-completion." long_desc Help.text("completion_script") def completion_script Completer::Script.generate end desc "version", "prints version" def version puts VERSION end end end