Class: HTML::Proofer::CheckRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/html/proofer/check_runner.rb,
lib/html/proofer/check_runner/issue.rb

Overview

Mostly handles issue management and collecting of external URLs.

Direct Known Subclasses

FaviconCheck, HtmlCheck, ImageCheck, LinkCheck, ScriptCheck

Defined Under Namespace

Classes: Issue, SortedIssues

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(src, path, html, options, typhoeus_opts, hydra_opts, parallel_opts) ⇒ CheckRunner

Returns a new instance of CheckRunner.



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/html/proofer/check_runner.rb', line 11

def initialize(src, path, html, options, typhoeus_opts, hydra_opts, parallel_opts)
  @src    = src
  @path   = path
  @html   = remove_ignored(html)
  @options = options
  @typhoeus_opts = typhoeus_opts
  @hydra_opts = hydra_opts
  @parallel_opts = parallel_opts
  @issues = []
  @href_ignores = @options[:href_ignore]
  @alt_ignores = @options[:alt_ignore]
  @external_urls = {}
end

Instance Attribute Details

#alt_ignoresObject (readonly)

Returns the value of attribute alt_ignores.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def alt_ignores
  @alt_ignores
end

#external_urlsObject (readonly)

Returns the value of attribute external_urls.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def external_urls
  @external_urls
end

#href_ignoresObject (readonly)

Returns the value of attribute href_ignores.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def href_ignores
  @href_ignores
end

#hydra_optsObject (readonly)

Returns the value of attribute hydra_opts.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def hydra_opts
  @hydra_opts
end

#issuesObject (readonly)

Returns the value of attribute issues.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def issues
  @issues
end

#optionsObject (readonly)

Returns the value of attribute options.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def options
  @options
end

#parallel_optsObject (readonly)

Returns the value of attribute parallel_opts.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def parallel_opts
  @parallel_opts
end

#pathObject (readonly)

Returns the value of attribute path.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def path
  @path
end

#srcObject (readonly)

Returns the value of attribute src.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def src
  @src
end

#typhoeus_optsObject (readonly)

Returns the value of attribute typhoeus_opts.



8
9
10
# File 'lib/html/proofer/check_runner.rb', line 8

def typhoeus_opts
  @typhoeus_opts
end

Class Method Details

.checksObject



41
42
43
44
45
46
47
48
49
50
# File 'lib/html/proofer/check_runner.rb', line 41

def self.checks
  classes = []

  ObjectSpace.each_object(Class) do |c|
    next unless c.superclass == self
    classes << c
  end

  classes
end

Instance Method Details

#add_issue(desc, line_number = nil, status = -1)) ⇒ Object



29
30
31
# File 'lib/html/proofer/check_runner.rb', line 29

def add_issue(desc, line_number = nil, status = -1)
  @issues << Issue.new(@path, desc, line_number, status)
end

#add_to_external_urls(href) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/html/proofer/check_runner.rb', line 33

def add_to_external_urls(href)
  if @external_urls[href]
    @external_urls[href] << @path
  else
    @external_urls[href] = [@path]
  end
end

#runObject



25
26
27
# File 'lib/html/proofer/check_runner.rb', line 25

def run
  fail NotImplementedError, 'HTML::Proofer::CheckRunner subclasses must implement #run'
end