Screencast: Dateiüberwachung mit Guard

Guard ist ein Tool für die Konsole, mit dem Veränderungen (FSEvent / Inotify / Polling) an Dateien überwacht werden können. Eine solche Funktion kann zum Beispiel für automatisierte Tests, Neustarts von Servern und viele andere Bereiche, in denen eine „Folgeaktion“ erforderlich ist, nützlich sein. In diesem Screencast gibt es eine kleine Einführung in Guard und wie es konfiguriert wird.

 

Download:

Download(13.8 MB, 8:44)
Alternativer Download für iPod & Apple TV(16 MB, 8:44)

 

Resourcen:

 

Quellcode:

[bash]
bundle
guard init rspec
guard init livereload
guard
[/bash]

[ruby]
# Gemfile
group :development, :test do
# …
gem ‚rb-fsevent‘, :require => false if RUBY_PLATFORM =~ /darwin/i
gem ‚guard-rspec‘
gem ‚guard-livereload‘
end

# Guardfile
guard ‚livereload‘ do
watch(%r{app/.+.(erb|haml)})
watch(%r{app/helpers/.+.rb})
watch(%r{public/.+.(css|js|html)})
watch(%r{config/locales/.+.yml})
end

guard ‚rspec‘, :version => 2 do
watch(%r{^spec/.+_spec.rb})
watch(%r{^lib/(.+).rb}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch(’spec/spec_helper.rb‘) { "spec" }

# Rails example
watch(’spec/spec_helper.rb‘) { "spec" }
watch(‚config/routes.rb‘) { "spec/routing" }
watch(‚app/controllers/application_controller.rb‘) { "spec/controllers" }
watch(%r{^spec/.+_spec.rb})
watch(%r{^app/(.+).rb}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{^lib/(.+).rb}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch(%r{^app/controllers/(.+)_(controller).rb}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/requests/#{m[1]}_spec.rb"] }
watch(%r{^app/views/(.+)/}) { |m| "spec/requests/#{m[1]}_spec.rb" }
end
[/ruby]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.