# A sample Guardfile # More info at https://github.com/guard/guard#readme # rubocop:disable all 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+/(.+\.(sass|coffee|haml))).*}) { |m| "/assets/#{m[3]}" } end guard :minitest, spring: 'bin/rails test' do # with Minitest::Unit watch(%r{^test/(.*)\/?test_(.*)\.rb}) watch(%r{^lib/(.*/)?([^/]+)\.rb}) { |m| "test/#{m[1]}test_#{m[2]}.rb" } watch(%r{^test/test_helper\.rb}) { 'test' } # Rails 4 watch(%r{^app/(.+)\.rb}) { |m| "test/#{m[1]}_test.rb" } watch(%r{^app/controllers/application_controller\.rb}) { 'test/controllers' } watch(%r{^app/controllers/(.+)_controller\.rb}) { |m| "test/integration/#{m[1]}_test.rb" } watch(%r{^app/views/(.+)_mailer/.+}) { |m| "test/mailers/#{m[1]}_mailer_test.rb" } watch(%r{^lib/(.+)\.rb}) { |m| "test/lib/#{m[1]}_test.rb" } watch(%r{^test/.+_test\.rb}) watch(%r{^test/test_helper\.rb}) { 'test' } end guard :brakeman, run_on_start: true, quiet: true, min_confidence: 10 do watch(%r{^app/.+\.(erb|haml|rhtml|rb)$}) watch(%r{^config/.+\.rb$}) watch(%r{^lib/.+\.rb$}) watch('Gemfile') end guard :rubocop, cli: ['--rails'] do watch(%r{.+\.rb$}) watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) } end guard 'migrate' do watch(%r{^db/migrate/(\d+).+\.rb}) watch('db/seeds.rb') end guard :rails, port: 3000, host: '0.0.0.0', CLI: 'bin/rails server' do watch('Gemfile.lock') watch(%r{^(config|lib)/.*\.rb}) end