Class: PreCommit::JsCheck

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

Direct Known Subclasses

JshintCheck, JslintCheck

Class Method Summary collapse

Class Method Details

.call(staged_files) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/pre-commit/checks/js_check.rb', line 6

def self.call(staged_files)
  staged_files = staged_files.select { |f| File.extname(f) == ".js" }
  return if staged_files.empty?

  errors = []
  staged_files.each do |file|
    error_list = Array(run_check(file))
    error_list.each { |error_object| errors << display_error(error_object, file) }
  end

  return if errors.empty?
  errors.join("\n")
end

.check_nameObject



20
21
22
# File 'lib/pre-commit/checks/js_check.rb', line 20

def self.check_name
  raise "Must be defined by subclass"
end

.display_error(error_object, file) ⇒ Object



28
29
30
31
32
33
# File 'lib/pre-commit/checks/js_check.rb', line 28

def self.display_error(error_object, file)
  return "" unless error_object

  line = error_object['line'].to_i + 1
  "#{error_object['reason']}\n#{file}:#{line} #{error_object['evidence']}"
end

.linter_srcObject



24
25
26
# File 'lib/pre-commit/checks/js_check.rb', line 24

def self.linter_src
  raise "Must be defined by subclass"
end