问题描述
|
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 --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上查看完整代码。