Class: Overcommit::GitHook::CssLinter

Inherits:
HookSpecificCheck show all
Includes:
HookRegistry
Defined in:
lib/overcommit/plugins/pre_commit/css_linter.rb

Constant Summary collapse

CSS_LINTER_PATH =
Overcommit::Utils.script_path 'csslint-rhino.js'

Instance Method Summary collapse

Methods included from HookRegistry

included

Methods inherited from HookSpecificCheck

friendly_name, #initialize, #name, required!, #skip?, skippable?, #staged, stealth!, #stealth?

Constructor Details

This class inherits a constructor from Overcommit::GitHook::HookSpecificCheck

Instance Method Details

#run_checkObject



8
9
10
11
12
13
14
15
# File 'lib/overcommit/plugins/pre_commit/css_linter.rb', line 8

def run_check
  return :warn, "Rhino is not installed" unless in_path? 'rhino'

  paths = staged.map { |s| s.path }.join(' ')

  output = `rhino #{CSS_LINTER_PATH} --quiet --format=compact #{paths} | grep 'Error - '`
  return (output !~ /Error - (?!Unknown @ rule)/ ? :good : :bad), output
end