class HTML::Proofer

def self.create_nokogiri(path)

def self.create_nokogiri(path)
  Nokogiri::HTML(File.read(path))
end

def get_checks

def get_checks
  HTML::Proofer::Checks::Check.subclasses
end

def initialize(src, opts={})

def initialize(src, opts={})
  @srcDir = src
  @options = {:ext => ".html"}.merge(opts)
end

def print_issues(issues)

def print_issues(issues)
  return if issues.empty?
  issues.each do |issue|
    $stderr.puts issue + "\n\n"
  end
end

def run

def run
  get_checks.each do |klass|
    issues = []
    puts "Running #{klass.name.split(/:/).pop()} check... \n\n"
    Find.find(@srcDir) do |path|
      if File.extname(path) == @options[:ext]
        html = HTML::Proofer.create_nokogiri(path)
        check = klass.new(path, html, @options)
        check.run
        self.print_issues(check.issues)
      end
    end
  end
end