From 7a69f41cb5789bfff75c643a3b8fcd3c543e146e Mon Sep 17 00:00:00 2001 From: Tom Copeland Date: Mon, 20 Sep 2010 21:59:16 -0400 Subject: [PATCH 1/2] grep with --exclude was resulting in hits on files with names like 'app/models/.svn/text-base/reading_list.rb.svn-base'. Piping through an additional grep process seems a little wasteful, but it does the job for folks who have an app on Subversion. --- lib/application_checker.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/application_checker.rb b/lib/application_checker.rb index 8f3334a..4b87c18 100644 --- a/lib/application_checker.rb +++ b/lib/application_checker.rb @@ -378,9 +378,9 @@ module Rails value = "" # Specifically double quote for finding 'test_help' command = if double_quote - "grep -r #{"-P" if perl_regex} --exclude=\*.svn\* \"#{text}\" #{where}" + "grep -r #{"-P" if perl_regex} \"#{text}\" #{where} | grep -v \.svn" else - "grep -r #{"-P" if perl_regex} --exclude=\*.svn\* '#{text}' #{where}" + "grep -r #{"-P" if perl_regex} '#{text}' #{where} | grep -v \.svn" end Open3.popen3(command) do |stdin, stdout, stderr| From 87e370c3351aa82818d67235682fa3dfbfcf8fd6 Mon Sep 17 00:00:00 2001 From: Tom Copeland Date: Mon, 20 Sep 2010 22:34:29 -0400 Subject: [PATCH 2/2] Adding a test for 7a69f41 --- test/application_checker_test.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/application_checker_test.rb b/test/application_checker_test.rb index a5edd4d..66347b4 100644 --- a/test/application_checker_test.rb +++ b/test/application_checker_test.rb @@ -58,6 +58,12 @@ class ApplicationCheckerTest < ActiveSupport::TestCase assert @checker.alerts.has_key?("Soon-to-be-deprecated ActiveRecord calls") end + def test_check_svn_subdirs_are_not_included + make_file("app/models/.svn/text-base", "foo.rb.tmp", "Post.find(:all)") + @checker.check_ar_methods + assert @checker.alerts.empty? + end + def test_check_validation_on_methods make_file("app/models", "post.rb", "validate_on_create :comments_valid?") @checker.check_validation_on_methods