[英]Have Thor complain about misspelled options in a Ruby command line app?
是否可以让 Thor 抱怨拼写错误/无法识别的命令行选项?
例子:
maid --slient # Oops! Misspelled. It should give a warning or usage info.
maid --silent # Do the behavior I programmed for the "silent" option.
Thor 真的很好,但如果它只是忽略不知道如何处理的输入,它对我来说并没有太大帮助。 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.
在上述两种情况下,我该怎么做才能让 Thor 抱怨?
Maid gem 的代码在 GitHub 上,地址为http://github.com/benjaminoakes/maid
我收到了 Yehuda Katz的一条推文。 (再次感谢:)这是解决方案:
class YourApp < Thor
check_unknown_options!
# ...
end
我测试并将其添加到我的项目中。 这是新的行为:
$ maid --slient
Unknown switches '--slient'
$ maid rules.rb
Could not find task "rules.rb".
请参阅GitHub 上的完整代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.