是否有可能让thor抱怨命令行选项拼写错误/无法识别?
例子:

maid --slient  # Oops!  Misspelled.  It should give a warning or usage info.
maid --silent  # Do the behavior I programmed for the "silent" option.

雷神真的很好,但如果它只是忽略输入,它不知道如何处理,这对我没有太大帮助。maid还可以指定maid规则文件,如下所示:
maid --rules=rules.rb  # Good
maid -r rules.rb       # Short version
maid rules.rb          # Oops!  That's not valid.  It should give a warning or usage info.

我该怎么做才能让托尔在上面两个案子中抱怨呢?
少女宝石的代码在github上http://github.com/benjaminoakes/maid

最佳答案

我从耶胡达·卡茨那里得到了a tweet。(再次感谢!)以下是解决方案:

class YourApp < Thor
  check_unknown_options!
  # ...
end

我测试了它并将其添加到我的项目中。以下是新的行为:
$ maid --slient
Unknown switches '--slient'

$ maid rules.rb
Could not find task "rules.rb".

参阅the full code on GitHub

07-25 21:24