class Audiothority::Inspector
Public Class Methods
new(crawler, validators, tracker, opts={})
click to toggle source
# File lib/audiothority/inspector.rb, line 13 def initialize(crawler, validators, tracker, opts={}) @crawler = crawler @validators = validators @tracker = tracker @extract = opts[:extract] || Extract.new end
scan(dirs, tracker, opts={})
click to toggle source
# File lib/audiothority/inspector.rb, line 5 def self.scan(dirs, tracker, opts={}) paths = dirs.map { |d| Pathname.new(d) } crawler = Crawler.new(paths) validators = opts[:validators] || Validators.default inspector = new(crawler, validators, tracker) inspector.investigate end
Public Instance Methods
investigate()
click to toggle source
# File lib/audiothority/inspector.rb, line 20 def investigate @crawler.crawl do |path| @extract.as_tags(path.children) do |tags| violations = @validators.map { |v| v.validate(tags) }.select(&:invalid?) if violations.any? @tracker.mark(path, violations) end end end end