Guard仅运行匹配

时间:2015-06-15 10:10:30

标签: ruby guard

有没有办法阻止Guard运行所有与文件结构相匹配但仅与第一个文件结构相匹配的观察者?

如果在我的根文件夹中复制的文件具有特定的结构,我基本上需要实例化一个不同的对象。例如,如果文件名与\d{2}-\d{6}_\d{5}_\d+_\d+.csv匹配,则我需要实例对象A,而所有其他.cvs文件对象B。

作为第一次尝试,我试图使用消极的外观,但由于外观限制,我看起来不能这样做。 所以,现在我试图强迫Guard只执行匹配的第一个观察者。

我的Guardfile看起来像

guard :my_csv_files do
  watch(%r{^\d{2}-\d{6}_\d{5}_\d+_\d+.csv$})
end

guard :others_csv_files do
   watch(%r{^.+.csv$})
end

由于

1 个答案:

答案 0 :(得分:0)

这已经有一段时间了,但从未记录过。 (直到今天)。

有一个:first_match选项,它可以完全符合您的要求:

https://github.com/guard/guard/wiki/Guardfile-DSL---Configuring-Guard#guard