使用guard运行单个任务并退出/非交互式防护

时间:2015-11-02 12:07:10

标签: ruby guard

我一直在使用Guardfiles,主要是作为资产管道。例如,我将拥有一个包含组assets的Guardfile。 在我的过程中,我将运行这样做:

$> guard
guard> assets
# Guard does stuff here
guard> exit

我经常这样做。我想要的是一种在非交互模式下执行此操作的方法。 例如,像这样:

$> guard --run_all assets
# Guard does stuff here
$> # Guard exited once the task was finished

考虑到我对此进行的研究,我认为这是不可能的。但也许有人有解决方案?

否则我只会编写自己的gem来读取Guardfile并在Guard插件上运行run_all方法,而不使用Guard本身。我担心这可能不适用于所有Guard插件。

编辑: 由于Dany与Guard的维基链接,这一点得以解决。不幸的是,文档似乎不是最新版本,但仍然可以使用以下内容运行警卫:

require 'guard'
Guard.setup
Guard.guards.each {|guard| guard.run_all}

1 个答案:

答案 0 :(得分:2)

您还可以将群组名称传递给guard。因此,如果您想要运行组assets,您可以执行以下操作:

$ echo assets | guard
[1] guard(main)> assets
[2] guard(main)>

16:13:36 - INFO - Bye bye...
$

$ guard <<< assets