Thor 是否抱怨过 Ruby 命令行应用程序中拼写错误的选项?

发布于 2024-11-09 22:41:26 字数 665 浏览 0 评论 0原文

是否可以让 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

Is it possible to have Thor complain about misspelled/unrecognized command line options?

Example:

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

Thor is really nice, but it isn't too helpful for me if it just ignores input it doesn't know how to handle. Maid also has an option to specify a file of Maid rules like so:

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.

What can I do to make Thor complain in the two cases above?

The code for the Maid gem is on GitHub at http://github.com/benjaminoakes/maid

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

[浮城] 2024-11-16 22:41:26

我收到了 Yehuda Katz 的一条推文。 (再次感谢!)这是解决方案:

class YourApp < Thor
  check_unknown_options!
  # ...
end

我测试并将其添加到我的项目中。新行为如下:

$ maid --slient
Unknown switches '--slient'

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

请参阅 GitHub 上的完整代码

I got a tweet from Yehuda Katz. (Thanks again!) Here's the solution:

class YourApp < Thor
  check_unknown_options!
  # ...
end

I tested and added it into my project. Here's the new behavior:

$ maid --slient
Unknown switches '--slient'

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

See the full code on GitHub.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文