在Ruby Thor CLI中添加--version选项

Mor*_*gan 13 ruby thor

如何在--versionRuby Thor命令行界面应用程序中添加选项.

例如,我希望能够运行

$ thor_app --version
> thor_app version 1.0.0
Run Code Online (Sandbox Code Playgroud)

此问题与不带参数或任务名称的Run a CLI Thor应用程序有关,但专门用于添加--version不需要任务的选项.

注意
这是按照自答案格式编写的.鼓励添加答案和更新

Ada*_*ott 29

我对这种方法有点运气:

class CLI < Thor
  map %w[--version -v] => :__print_version

  desc "--version, -v", "print the version"
  def __print_version
    puts FooBar::VERSION
  end
end
Run Code Online (Sandbox Code Playgroud)

前导下划线确保没有命令yourapp version,强制yourapp --versionyourapp -v.该desc内容将允许它显示为-v, --version不暴露__print_version.

  • 这应该提交给Thor开发人员进行文档修复. (2认同)