Revisions
-
parndt revised this gist
May 21, 2013 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -32,4 +32,4 @@ if spec_hits.any? puts spec_hits.join("\n") end exit 1 if spec_hits.any? -
parndt revised this gist
Apr 21, 2013 . 1 changed file with 6 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -14,20 +14,21 @@ filenames.each do |filename| checks.each do |filename_pattern, patterns| if filename.match filename_pattern patterns.each do |contents_pattern| results = `git diff --cached "#{filename}" | grep "^\+[^+]" | grep "#{contents_pattern}"`.split("\n").map { |r| r.sub(/^\+[\s\t]*/, '') } if $? == 0 # Add the relevant change with line number to the spec_hits array results.each do |result| line = `grep -n '#{result}' #{filename}`.sub(/:\s+/, ' ').chomp spec_hits.push "#{filename}:" + line end end end end end end if spec_hits.any? puts "\e[33m>>> Oops! You forgot something:\e[0m" puts spec_hits.join("\n") end -
ideasasylum created this gist
Mar 7, 2013 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,34 @@ #!/usr/bin/env ruby spec_hits = [] checks = { '_spec\.rb$' => ['focus:[:space:]*true'], '\.rb$' => ['binding\.pry', 'debugger'] } # Find the names of all the filenames that have been (A)dded (C)opied or (M)odified filenames = `git diff --cached --name-only --diff-filter=ACM`.split("\n") filenames.each do |filename| # Perform special checks for _spec filenames (rspec tests) checks.each do |filename_pattern, patterns| if filename.match filename_pattern patterns.each do |contents_pattern| results = `git diff --cached #{filename} | grep "^\+[^+]" | grep "#{contents_pattern}"`.split("\n").map { |r| r.sub(/^\+[\s\t]*/, '') } if $? == 0 # Add the relevant change with line number to the spec_hits array results.each{ |r| spec_hits.push "#{filename}:" + `grep -n '#{r}' #{filename}`.sub(/:\s+/, ' ').chomp } end end end end end if spec_hits.any? puts "\e[33m>>> Please remove the following problems from these files before committing\e[0m" puts spec_hits.join("\n") end exit 1 if spec_hits.any?