Guardfile 1.56 KB
Newer Older
1 2
# frozen_string_literal: true

Jonne Haß's avatar
Jonne Haß committed
3 4 5 6
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" }
7 8

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

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

Jonne Haß's avatar
Jonne Haß committed
26
guard(:cucumber,
27
      cmd:            "bin/spring cucumber",
Jonne Haß's avatar
Jonne Haß committed
28 29 30 31 32 33 34 35 36 37 38 39
      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)$/)
40
end