lib/scss_lint/runner.rb in scss-lint-0.5.2 vs lib/scss_lint/runner.rb in scss-lint-0.6
- old
+ new
@@ -4,26 +4,35 @@
module SCSSLint
class NoFilesError < StandardError; end
class NoLintersError < StandardError; end
class Runner
- attr_reader :lints
+ attr_reader :linters, :lints
- def run(files = [])
+ def initialize(options = {})
@lints = []
+ ignored_linters = LinterRegistry.
+ extract_linters_from(options.fetch(:ignored_linters, []))
+
+ @linters = LinterRegistry.linters.reject do |linter|
+ ignored_linters.include?(linter)
+ end
+ end
+
+ def run(files = [])
raise NoFilesError.new('No SCSS files specified') if files.empty?
- raise NoLintersError.new('No linters specified') if LinterRegistry.linters.empty?
+ raise NoLintersError.new('No linters specified') if linters.empty?
files.each do |file|
find_lints(file)
end
end
def find_lints(file)
engine = Engine.new(file)
- LinterRegistry.linters.each do |linter|
+ linters.each do |linter|
@lints += linter.run(engine)
end
rescue Sass::SyntaxError => ex
@lints << Lint.new(ex.sass_filename, ex.sass_line, ex.to_s)
end