Class: PreCommit::ConsoleLog

Inherits:
Object
  • Object
show all
Defined in:
lib/pre-commit/checks/console_log.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#error_messageObject

Returns the value of attribute error_message.



4
5
6
# File 'lib/pre-commit/checks/console_log.rb', line 4

def error_message
  @error_message
end

#staged_filesObject

Returns the value of attribute staged_files.



4
5
6
# File 'lib/pre-commit/checks/console_log.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
# File 'lib/pre-commit/checks/console_log.rb', line 6

def self.call(quiet=false)
  check = new
  check.staged_files = Utils.staged_files('public/javascripts')

  result = check.run
  if !quiet && !result
    puts check.error_message
  end
  result
end

Instance Method Details

#detected_bad_code?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/pre-commit/checks/console_log.rb', line 28

def detected_bad_code?
  system("grep -v \/\/ #{staged_js_files} | grep -qe \"console\\.log\"")
end

#instances_of_console_log_violationsObject



32
33
34
# File 'lib/pre-commit/checks/console_log.rb', line 32

def instances_of_console_log_violations
  `grep -nHe \"console\\.log\" #{staged_js_files}`
end

#runObject



17
18
19
20
21
22
23
24
25
26
# File 'lib/pre-commit/checks/console_log.rb', line 17

def run
  return true if staged_js_files.empty?
  if detected_bad_code?
    @error_message = "pre-commit: console.log found:\n"
    @error_message += instances_of_console_log_violations
    false
  else
    true
  end
end

#staged_js_filesObject



36
37
38
39
40
# File 'lib/pre-commit/checks/console_log.rb', line 36

def staged_js_files
  @staged_js_files ||= staged_files.split(" ").select do |file|
    File.extname(file) == ".js"
  end.join(" ")
end