Skip to content

Instantly share code, notes, and snippets.

@jaredholdcroft
Forked from drnic/Guardfile
Created April 5, 2012 20:27

Revisions

  1. @drnic drnic created this gist Apr 5, 2012.
    55 changes: 55 additions & 0 deletions Guardfile
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,55 @@
    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(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
    watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_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/acceptance/#{m[1]}_spec.rb"] }
    watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
    watch('config/routes.rb') { "spec/routing" }
    watch('app/controllers/application_controller.rb') { "spec/controllers" }
    # Capybara request specs
    watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
    end

    guard 'cucumber' do
    watch(%r{^features/.+\.feature$})
    watch(%r{^features/support/.+$}) { 'features' }
    watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
    end

    guard 'livereload' do
    watch(%r{app/views/.+\.(erb|haml|slim)})
    watch(%r{app/helpers/.+\.rb})
    watch(%r{public/.+\.(css|js|html)})
    watch(%r{config/locales/.+\.yml})
    # Rails Assets Pipeline
    watch(%r{(app|vendor)/assets/\w+/(.+\.(css|js|html)).*}) { |m| "/assets/#{m[2]}" }
    end

    guard 'bundler' do
    watch('Gemfile')
    end

    guard 'puma' do
    watch('Gemfile.lock')
    watch(%r{^config|lib/.*})
    end

    # Possible options are :port, :executable, and :pidfile
    guard 'redis'

    ### Guard::Resque
    # available options:
    # - :task (defaults to 'resque:work' if :count is 1; 'resque:workers', otherwise)
    # - :verbose / :vverbose (set them to anything but false to activate their respective modes)
    # - :trace
    # - :queue (defaults to "*")
    # - :count (defaults to 1)
    # - :environment (corresponds to RAILS_ENV for the Resque worker)
    guard 'resque', :environment => 'development' do
    watch(%r{^app/(.+)\.rb$})
    watch(%r{^lib/(.+)\.rb$})
    end