Class: Diogenes::Cli
- Inherits:
-
Object
- Object
- Diogenes::Cli
- Defined in:
- lib/diogenes/cli.rb,
lib/diogenes/cli/init.rb
Defined Under Namespace
Classes: Init
Constant Summary collapse
- COMMANDS =
{ "init" => Init }.freeze
Class Method Summary collapse
-
.run(argv = ARGV, out: $stdout, err: $stderr) ⇒ Object
: (?Array argv, ?out: IO, ?err: IO) -> Integer.
Instance Method Summary collapse
-
#initialize(argv:, out:, err:) ⇒ Cli
constructor
: (argv: Array, out: IO, err: IO) -> void.
-
#run ⇒ Object
: () -> Integer.
Constructor Details
Class Method Details
.run(argv = ARGV, out: $stdout, err: $stderr) ⇒ Object
: (?Array argv, ?out: IO, ?err: IO) -> Integer
13 14 15 |
# File 'lib/diogenes/cli.rb', line 13 def self.run(argv = ARGV, out: $stdout, err: $stderr) new(argv: argv, out: out, err: err).run end |
Instance Method Details
#run ⇒ Object
: () -> Integer
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/diogenes/cli.rb', line 25 def run command, *args = @argv case command when nil, "help", "-h", "--help" print_help when "version", "-v", "--version" print_version when *COMMANDS.keys run_command(COMMANDS.fetch(command), args) else raise UserError, (command) end rescue OptionParser::ParseError, UserError => e @err.puts e. 1 end |