Class: Uniword::Validation::Rules::BookmarkPairingRule
- Inherits:
-
ModelRule
- Object
- Base
- ModelRule
- Uniword::Validation::Rules::BookmarkPairingRule
show all
- Defined in:
- lib/uniword/validation/rules/bookmark_pairing_rule.rb
Overview
DOC-201: every bookmarkStart must have a matching bookmarkEnd.
Unpaired bookmark starts produce corrupt documents that Word
refuses to open.
Instance Method Summary
collapse
Methods inherited from ModelRule
#context_type
Methods inherited from Base
#applicable?, #context_type, #description, #validity_rule
Instance Method Details
#category ⇒ Object
12
|
# File 'lib/uniword/validation/rules/bookmark_pairing_rule.rb', line 12
def category = :bookmarks
|
#check(context) ⇒ Object
15
16
17
18
19
20
21
22
23
|
# File 'lib/uniword/validation/rules/bookmark_pairing_rule.rb', line 15
def check(context)
body = context.document.body
return [] unless body
end_ids = (body.bookmark_ends || []).filter_map(&:id).to_set
(body.bookmark_starts || []).filter_map do |start|
unpaired_issue(start, end_ids)
end
end
|
#code ⇒ Object
11
|
# File 'lib/uniword/validation/rules/bookmark_pairing_rule.rb', line 11
def code = "DOC-201"
|
#severity ⇒ Object
13
|
# File 'lib/uniword/validation/rules/bookmark_pairing_rule.rb', line 13
def severity = "error"
|