BasicCommand < Object
{
banner: "" width: 30 options_config: null options_parse: |*argv| { command = argv.first && self.commands.memes[argv.first.to_sym] command &? (command.result.run(*argv.slice(Range.new(1, -1))); null) ?? options_parser.parse(argv) } options_parser: { parser = Rubinius::Options.new(banner, width, options_config) options.memes.each |name, meme| { meme.result.register_in_parser(parser, name) } parser.help parser } show_help: puts(options_parser.to_s) Option < Object { var parser register_in_parser: |parser, name| { self.parser = parser args = [name, (self.?argument ?? null), long_form, description] args = args.compact args = args.map |arg| { arg.to_s } parser.on(*args) |arg| { do(arg) } } } # Empty categories to be filled by the user [options] [commands]
}