Class: PreCommit::DebuggerCheck
- Inherits:
-
Object
- Object
- PreCommit::DebuggerCheck
- Defined in:
- lib/pre-commit/checks/debugger_check.rb
Instance Attribute Summary collapse
-
#error_message ⇒ Object
Returns the value of attribute error_message.
-
#grep_command ⇒ Object
Returns the value of attribute grep_command.
-
#staged_files ⇒ Object
Returns the value of attribute staged_files.
Class Method Summary collapse
Instance Method Summary collapse
- #detected_bad_code? ⇒ Boolean
- #instances_of_debugger_violations ⇒ Object
- #print_dash_n_reminder ⇒ Object
- #run ⇒ Object
Instance Attribute Details
#error_message ⇒ Object
Returns the value of attribute error_message.
4 5 6 |
# File 'lib/pre-commit/checks/debugger_check.rb', line 4 def @error_message end |
#grep_command ⇒ Object
Returns the value of attribute grep_command.
4 5 6 |
# File 'lib/pre-commit/checks/debugger_check.rb', line 4 def grep_command @grep_command end |
#staged_files ⇒ Object
Returns the value of attribute staged_files.
4 5 6 |
# File 'lib/pre-commit/checks/debugger_check.rb', line 4 def staged_files @staged_files end |
Class Method Details
.call(quiet = false) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/pre-commit/checks/debugger_check.rb', line 6 def self.call(quiet=false) dirs = ['app/', 'lib/', 'script/', 'vendor/', 'test/'].reject {|d| !File.exists?(d)} check = new check.staged_files = Utils.staged_files(*dirs) result = check.run if !quiet && !result $stderr.puts check. $stderr.puts check.print_dash_n_reminder end result end |
Instance Method Details
#detected_bad_code? ⇒ Boolean
32 33 34 |
# File 'lib/pre-commit/checks/debugger_check.rb', line 32 def detected_bad_code? !system("git diff --cached -Sdebugger --quiet --exit-code") end |
#instances_of_debugger_violations ⇒ Object
36 37 38 39 |
# File 'lib/pre-commit/checks/debugger_check.rb', line 36 def instances_of_debugger_violations cmd = grep_command || "git grep" `#{cmd} -nH debugger #{staged_files}` end |
#print_dash_n_reminder ⇒ Object
41 42 43 44 |
# File 'lib/pre-commit/checks/debugger_check.rb', line 41 def print_dash_n_reminder $stderr.puts 'You can bypass this check using `git commit -n`' $stderr.puts end |
#run ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/pre-commit/checks/debugger_check.rb', line 20 def run return true if staged_files.empty? if detected_bad_code? @error_message = "pre-commit: debugger statement(s) found:\n" @error_message += instances_of_debugger_violations false else true end end |