Guard编译监视资产 - 测试后删除?

时间:2014-09-16 16:09:34

标签: ruby-on-rails coffeescript automated-tests guard

我的Guard文件中有以下Rails项目:

guard 'coffeescript', :input => 'app/assets/javascripts'              

因此,每当我保存foo.js.coffee文件时,它都会将该文件编译为匹配的foo.js

我想在Guardfile中保留这一行,因为它可以捕获编译错误。但是,我不希望foo.js文件保留在项目中,所以我想知道在测试通过后是否有一种方法让警卫删除它们。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

我不确定你为什么要删除文件(或者为什么不将输出文件夹设置为public / assets / javascripts),但是你应该能够在测试运行后添加一个回调钩子:

# Guardfile
guard 'rspec' do
  watch(...) { ... }

  callback(:run_on_modifications_end) do
    File.unlink('app/assets/javascript/foo.js')
  end
end

如果测试失败,'_end'挂钩不应该运行,所以这应该按照你想要的去做。