class Guard::Sass::Lint::Runner

Public Class Methods

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

Public Instance Methods

display_result(result_data) click to toggle source
# File lib/guard/sass/lint/runner.rb, line 16
def display_result(result_data)
  result_data.each do |data|
    if data['warningCount'] > 0 || data['errorCount'] > 0
      puts "⌕ #{data['filePath']}"
      data['messages'].each { |msg| puts format_message(msg) }
    end
  end

  puts clean_message if result_data.empty?
end
run() click to toggle source
# File lib/guard/sass/lint/runner.rb, line 12
def run
  display_result @linter.lint(@file)
end

Private Instance Methods

clean_message() click to toggle source
# File lib/guard/sass/lint/runner.rb, line 43
def clean_message
  ['✓'.green, @file].join(' ')
end
format_message(data) click to toggle source
# File lib/guard/sass/lint/runner.rb, line 29
def format_message(data)
  location = [sprintf("%4d", data['line']), sprintf("%-4d", data['column'])].join(':')
  rule = sprintf("%-25s", "(#{data['ruleId']})")
  message = "  #{rule} #{location} - #{data['message']}"
  case data['severity']
  when 1
    message.green
  when 2
    message.yellow
  else
    message
  end
end