# Guardfile

logger level:       :error,
       device:      'tmp/guard.log'

ignore(/spec/)


guard 'puma', :port => 4567 do
  watch('Gemfile.lock')
  watch(%r{^config|lib/.*})
end


guard 'brakeman', output_files:  [
                    'tmp/brakeman/current_file.html'
                  ],
                  run_on_start: true do
  watch(%r{^app/.+\.(erb|haml|rhtml|rb)$})
  watch(%r{^config/.+\.rb$})
  watch(%r{^lib/.+\.rb$})
  watch('Gemfile')
end


# rubycritic's default is to put the html output into tmp/rubycritic/current_file.html
guard "rubycritic", run_on_start: false do
  watch(%r{^app/(.+)\.rb$})
  watch(%r{^lib/(.+)\.rb$})
  watch(%r{^lib/tasks/(.+)\.rake$})
end


guard :rubocop, cli:  [
                        '--rails',
                        '--format', 'html',
                        '--out',    'tmp/rubocop/current_file.html',
                        '--format', 'simple',
                        '--out',    'tmp/rubocop/current_file.txt'
                ],
                hide_stdout:  true,
                all_on_start: false  do
  watch(%r{.+\.rb$})
  watch(%r{.+\.rake$})
  watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
end

