我的Guard文件中有以下Rails项目:
guard 'coffeescript', :input => 'app/assets/javascripts'
因此,每当我保存foo.js.coffee
文件时,它都会将该文件编译为匹配的foo.js
。
我想在Guardfile中保留这一行,因为它可以捕获编译错误。但是,我不希望foo.js
文件保留在项目中,所以我想知道在测试通过后是否有一种方法让警卫删除它们。
我该怎么办?
答案 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'挂钩不应该运行,所以这应该按照你想要的去做。