[英]How should I format my guard file to watch all files apart from log files?
警卫现在真的开始给我打勾。 以为我有一个很好的正则表达式来选择项目中所有文件,除了扩展名为'log'的文件:
保护文件:
guard :rspec do
watch(%r{^.+$(?<!\.log)})
end
Rubular永久链接: http ://rubular.com/r/qPyeSs54BF
但这没有任何结果。 我保存了任何文件,守卫就像柠檬一样坐在那里。 很烦人。
当我这样做时相同:
guard :rspec do
watch(%r{^.+$})
end
Rubular永久链接: http ://rubular.com/r/UxFXyq9lRm
这才真正让我受益。 正如您从rubular链接中看到的那样,它是完全有效的正则表达式,但Guard不会监听它。 什么时候不能只接受常规正则表达式? 愚蠢的%r {}废话是什么? 我希望Guard不会变得聪明,当我调整它们时运行单个规范,然后在我调整它们时运行整个规范文件。
当日志文件以外的任何其他文件被更新且没有其他任何更新时 ,是否可以在某个地方设置一些总体配置,以保护我运行所有规范? 想要做的事情如此明智,这简直就是一场噩梦。
这是我的宝石:
来源' https://rubygems.org '
group :development do
gem 'capistrano'
gem 'guard-rspec'
gem 'guard-livereload', require: false
gem 'rb-fsevent'
gem 'debugger'
end
group :development, :test do
gem 'rspec-rails', '~> 2.14.0'
gem 'sqlite3'
end
group :test do
gem 'factory_girl_rails'
gem 'capybara', '~> 2.2.0'
gem 'selenium-webdriver'
# uses a program called 'libqtwebkit-dev' to build. To install 'libqtwebkit-dev' in Ubuntu, run
# sudo apt-get install libqtwebkit-dev
# gem 'capybara-webkit'
gem 'rb-readline'
gem 'launchy'
gem 'database_cleaner'
end
group :production do
gem 'pg'
end
# standard library
gem 'rails', '4.0.1'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
group :doc do
gem 'sdoc', require: false
end
# custom
gem 'devise'
gem 'puma'
UPDATE
也许这个正则表达式好一点:
.+?\.(?!log).+
http://rubular.com/r/dsYKzUE8FF
那么我应该如何在我的警卫文件中实现它呢?
简短的回答:您没有。 您告诉Guard将特定文件集(由于缺乏更好的引用正则表达式结果的方法)传递给特定插件,如果以其他方式修改了其他特定文件集。
为了让Guard能够“正常工作”
来源: https : //github.com/guard/guard/wiki/Understanding-Guard
我建议任何对使用Guard感兴趣的人访问上面的链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.