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