繁体   English   中英

我应该如何格式化防护文件以监视除日志文件之外的所有文件?

[英]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能够“正常工作”

  1. Guard必须已经在监视Gemfile所在的目录(尽管这是特定于平台/适配器的)。
  2. 该插件旨在响应更改的类型(已修改,添加或删除)
  3. 该插件必须设计为实际处理该文件(而不忽略更改)

来源: https : //github.com/guard/guard/wiki/Understanding-Guard

我建议任何对使用Guard感兴趣的人访问上面的链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM