ruby - 在没有参数或任务名称的情况下运行 CLI Thor 应用程序

标签 ruby thor

我正在寻找一种方法来创建命令行 thor 应用程序,该应用程序将运行不带任何参数的默认方法。我摆弄了 Thor 的 default_method 选项,但仍然需要我传递一个参数。我找到了一个 similar case有人想运行带有参数但没有任务名称的 CLI Thor 任务。

我想运行一个没有任务名称和参数的任务。这样的事情可能吗?

最佳答案

似乎正确的 Thor 方式是使用 default_task:

class Commands < Thor
  desc "whatever", "The default task to run when no command is given"
  def whatever
    ...
  end
  default_task :whatever
end
Commands.start

如果出于某种原因这不是你需要的,你应该能够做类似的事情

class Commands < Thor
  ...
end

if ARGV.empty?
  # Perform the default, it doesn't have to be a Thor task
  Commands.new.whatever
else
  # Start Thor as usual
  Commands.start
end

关于ruby - 在没有参数或任务名称的情况下运行 CLI Thor 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7253415/

相关文章:

ruby - 如何在停止时杀死 ruby​​ Thor 中的所有进程?

带有命名空间的基于 Ruby Thor 的可执行文件

ruby-on-rails - 在 Rails 3 生成器中多次调用任务

mysql - 在 Ubuntu 服务器上将 Ruby 从 1.9.2 升级到 1.9.3

ruby-on-rails - 如何在 Rails 中调试 gem?

ruby -/usr/local/rvm/bin/rvm-shell : No such file or directory

ruby - 如何在单独的类/模块/文件中编写 Thor 任务?

ruby-on-rails - 读取 Rails 应用程序中的所有模型

Ruby 特征类模式 - 要求澄清

ruby - 如何使用 Thor 在 ruby​​ 终端上抑制而不打印异常的回溯?