是否有可能让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。