Guardfile 1.53 KB
Newer Older
Jonne Haß's avatar
Jonne Haß committed
1 2 3 4
guard :rspec, cmd: "bin/spring rspec", all_on_start: false, all_after_pass: false do
  watch(/^spec\/.+_spec\.rb$/)
  watch(/^lib\/(.+)\.rb$/)       {|m| "spec/lib/#{m[1]}_spec.rb" }
  watch(/spec\/spec_helper.rb/)  { "spec" }
5 6

  # Rails example
Jonne Haß's avatar
Jonne Haß committed
7 8 9 10 11 12 13 14
  watch(/^spec\/.+_spec\.rb$/)
  watch(/^app\/(.+)\.rb$/)                            {|m| "spec/#{m[1]}_spec.rb" }
  watch(/^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/acceptance/#{m[1]}_spec.rb"]
  }
15
  watch(%r{^spec/support/(.+)\.rb$})                  { "spec" }
Jonne Haß's avatar
Jonne Haß committed
16 17 18
  watch("spec/spec_helper.rb")                        { "spec" }
  watch("config/routes.rb")                           { "spec/routing" }
  watch("app/controllers/application_controller.rb")  { "spec/controllers" }
19

20
  # Capybara request specs
Jonne Haß's avatar
Jonne Haß committed
21
  watch(%r{^app/views/(.+)/.*\.(erb|haml)$})          {|m| "spec/requests/#{m[1]}_spec.rb" }
22
end
23

Jonne Haß's avatar
Jonne Haß committed
24
guard(:cucumber,
25
      cmd:            "bin/spring cucumber",
Jonne Haß's avatar
Jonne Haß committed
26 27 28 29 30 31 32 33 34 35 36 37
      all_on_start:   false,
      all_after_pass: false) do
  watch(/^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 :rubocop, all_on_start: false, keep_failed: false do
  watch(/(?:app|config|db|lib|features|spec)\/.+\.rb$/)
  watch(/(config.ru|Gemfile|Guardfile|Rakefile)$/)
38
end