class Guard::Sass::Lint::AllRunner

Public Class Methods

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

Public Instance Methods

lint(filename) click to toggle source
# File lib/guard/sass/lint/all_runner.rb, line 23
def lint(filename)
  calculate_result
end
run() click to toggle source
# File lib/guard/sass/lint/all_runner.rb, line 12
def run
  $stdout.sync = true

  sass_files.each do |file|
    calculate_result @linter.lint(file)
    print '.'
  end

  display_final_result
end

Private Instance Methods

calculate_result(result_data) click to toggle source
# File lib/guard/sass/lint/all_runner.rb, line 33
def calculate_result(result_data)
  if !result_data.nil? && !result_data.empty?
    data = result_data.first
    file_path = data['filePath']
    warnings = data['warningCount'].to_i
    errors = data['errorCount'].to_i
    @results[file_path] = { warn: warnings, error: errors }
  end
end
display_final_result() click to toggle source
# File lib/guard/sass/lint/all_runner.rb, line 43
def display_final_result
  puts "\n"
  puts ' Error Warn' if @results.present?
  @results.each do |file, counts|
    errors = sprintf('%4d', counts[:error]).red
    warns = sprintf('%4d', counts[:warn]).yellow
    puts "  #{errors} #{warns} - #{file}"
  end

  @results = {}
end
sass_files() click to toggle source
# File lib/guard/sass/lint/all_runner.rb, line 29
def sass_files
  @sass_files ||= Dir.glob('*/**/*.scss').sort
end