class Guard::Sass::Lint::Linter

Constants

OUTPUT_FILE

Public Class Methods

new(config_location = nil) click to toggle source
# File lib/guard/sass/lint/linter.rb, line 7
def initialize(config_location = nil)
  @config_location = config_location
  @results = {}
end

Public Instance Methods

lint(file) click to toggle source
# File lib/guard/sass/lint/linter.rb, line 12
def lint(file)
  clear_results
  system lint_command(file)
  result_data
end

Private Instance Methods

additional() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 52
def additional
  '--no-exit --verbose'
end
clear_results() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 68
def clear_results
  File.delete(OUTPUT_FILE) if File.exists?(OUTPUT_FILE)
  @result_data = nil
end
config() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 36
def config
  "-c #{config_file}"
end
config_file() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 40
def config_file
  @config_location || default_config
end
default_config() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 44
def default_config
  File.join(sass_lint_dir, 'docs', 'sass-lint.yml')
end
format() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 48
def format
  '-f json'
end
lint_command(filename) click to toggle source
# File lib/guard/sass/lint/linter.rb, line 28
def lint_command(filename)
  [linter, config, format, output, additional, filename, quiet].join(' ')
end
linter() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 32
def linter
  File.join(sass_lint_dir, 'bin', 'sass-lint.js')
end
output() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 56
def output
  "-o #{OUTPUT_FILE}"
end
quiet() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 60
def quiet
  ' >/dev/null 2>&1'
end
result_data() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 64
def result_data
  @result_data ||= result_json_file || []
end
result_json_file() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 73
def result_json_file
  JSON.parse(File.new(OUTPUT_FILE).read) if File.exists?(OUTPUT_FILE)
end
root() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 20
def root
  File.expand_path('../../../../..', __FILE__)
end
sass_lint_dir() click to toggle source
# File lib/guard/sass/lint/linter.rb, line 24
def sass_lint_dir
  @sass_lint_dir ||= File.join(root, 'node_modules', 'sass-lint')
end