Class: Uniword::Lint::Engine

Inherits:
Object
  • Object
show all
Defined in:
lib/uniword/lint/engine.rb

Overview

Walks the document with each rule and aggregates findings.

Instance Method Summary collapse

Constructor Details

#initialize(document:, ruleset:) ⇒ Engine

Returns a new instance of Engine.

Parameters:



9
10
11
12
# File 'lib/uniword/lint/engine.rb', line 9

def initialize(document:, ruleset:)
  @document = document
  @ruleset = wrap_ruleset(ruleset)
end

Instance Method Details

#runResult

Returns:



15
16
17
18
19
20
21
# File 'lib/uniword/lint/engine.rb', line 15

def run
  result = Result.new
  @ruleset.rules.each do |rule|
    rule.check(@document) { |finding| result.add(finding) }
  end
  result
end