在Ruby中手动处理Commander错误

时间:2018-07-11 13:10:45

标签: ruby command-line error-handling command-line-interface

我正在编写一个简单的Commander CLI,作为我正在从事的项目的一部分。

Commander有其自己的错误处理方法。例如,如果用户输入了无效命令,则Commander将打印一条用户友好的消息:

$ my-commander-program some-invalid-command
invalid command. Use --help for more information.

我想用我自己的消息替换此消息,以便输出与我的程序的其余部分更加一致。例如:

$ my-commander-program some-invalid-command
[ERR ] 'some-invalid-command' is not a known command.
       Use --help to see a list of valid commands.

我看过Commander的README.md,其中包含许多有关如何使用Commander的示例,但是我从那里找不到如何执行此操作。

我的程序是使用Commander的“经典”风格编写的,其中一个导入了commander/import,并从顶层使用了programcommand之类的方法,而不是创建一个包含以下内容的类: Commander::Methods。例如:

require 'commander/import'

program :name, 'my-commander-program'
program :version, '1.0.0'
program :description, 'Example'

command :example do |c|
  c.action do |args, options|
    puts "Invoked!"
  end
end

如何才能替换此错误消息?我正在使用Commander 4.4.5。

0 个答案:

没有答案