Class: A11y::Lint::SlimRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/a11y/lint/slim_runner.rb

Overview

Parses Slim templates and checks them against accessibility rules.

Instance Method Summary collapse

Constructor Details

#initialize(rules = nil, configuration: Configuration.new) ⇒ SlimRunner

Returns a new instance of SlimRunner.



7
8
9
10
# File 'lib/a11y/lint/slim_runner.rb', line 7

def initialize(rules = nil, configuration: Configuration.new)
  @rules = rules || configuration.enabled_rules
  @configuration = configuration
end

Instance Method Details

#run(source, filename:) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/a11y/lint/slim_runner.rb', line 12

def run(source, filename:)
  require "slim"
  sexp = Slim::Parser.new.call(source)
  @line = 1
  @filename = filename
  @offenses = []
  walk(sexp)
  @offenses
rescue LoadError
  raise SlimLoadError
end