Class: Marcdouane::Rules::EnsureHeadersCascade
- Defined in:
- lib/marcdouane/rules/ensure_headers_cascade.rb
Overview
Ensure that every child header is always a direct descendant of the previous header (i.e its level increments by 1).
Constant Summary collapse
- ERROR_MESSAGE =
"Header levels should increment one at a time"
Instance Attribute Summary
Attributes inherited from Rule
Instance Method Summary collapse
Methods inherited from Rule
#error!, #identifier, #initialize, #line_number_from_byte_range
Constructor Details
This class inherits a constructor from Marcdouane::Rules::Rule
Instance Method Details
#check! ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/marcdouane/rules/ensure_headers_cascade.rb', line 10 def check! previous_level = nil @markdown.on(:heading) do |header| previous_level ||= header.level if header.level > previous_level && header.level != previous_level + 1 error!(line_number_from_byte_range(header.byte_range)) else previous_level = header.level end end @markdown.walk end |