Class: Mdlint::Linter::Rule
- Inherits:
-
Object
- Object
- Mdlint::Linter::Rule
- Defined in:
- lib/mdlint/linter/rule.rb,
sig/mdlint.rbs,
sig/internal.rbs
Direct Known Subclasses
Mdlint::Linter::Rules::CodeBlockSyntax, Mdlint::Linter::Rules::EmphasisStyle, Mdlint::Linter::Rules::FencedCodeBlankLines, Mdlint::Linter::Rules::FencedCodeStyle, Mdlint::Linter::Rules::FirstLineHeading, Mdlint::Linter::Rules::HeadingIncrement, Mdlint::Linter::Rules::HeadingStyle, Mdlint::Linter::Rules::JapaneseCommaCount, Mdlint::Linter::Rules::JapaneseDuplicateParticle, Mdlint::Linter::Rules::JapanesePunctuation, Mdlint::Linter::Rules::JapaneseSentenceLength, Mdlint::Linter::Rules::JapaneseSpacing, Mdlint::Linter::Rules::JapaneseStyle, Mdlint::Linter::Rules::JapaneseWidth, Mdlint::Linter::Rules::LineLength, Mdlint::Linter::Rules::LinkCheck, Mdlint::Linter::Rules::ListBlankLines, Mdlint::Linter::Rules::ListMarkerSpace, Mdlint::Linter::Rules::NoBareUrls, Mdlint::Linter::Rules::NoHardTabs, Mdlint::Linter::Rules::NoMultipleBlanks, Mdlint::Linter::Rules::NoMultipleSpacesAfterBlockquote, Mdlint::Linter::Rules::NoMultipleSpacesAfterHash, Mdlint::Linter::Rules::NoSpaceAfterHash, Mdlint::Linter::Rules::NoSpaceInCode, Mdlint::Linter::Rules::NoSpaceInEmphasis, Mdlint::Linter::Rules::NoTrailingSpaces, Mdlint::Linter::Rules::SingleTrailingNewline, Mdlint::Linter::Rules::StrongStyle
Class Attribute Summary collapse
-
.aliases ⇒ Object
Returns the value of attribute aliases.
-
.description ⇒ Object
Returns the value of attribute description.
-
.preset ⇒ Object
Returns the value of attribute preset.
-
.rule_id ⇒ Object
Returns the value of attribute rule_id.
Instance Attribute Summary collapse
-
#violations ⇒ Object
readonly
Returns the value of attribute violations.
Class Method Summary collapse
Instance Method Summary collapse
- #add_violation(message:, line:, column: nil, fixable: false) ⇒ Object
- #check(_tokens, _source) ⇒ Array[Violation]
- #fix(_tokens, _source) ⇒ String
-
#initialize(options = {}) ⇒ Rule
constructor
A new instance of Rule.
Constructor Details
#initialize(options = {}) ⇒ Rule
Returns a new instance of Rule.
17 18 19 20 |
# File 'lib/mdlint/linter/rule.rb', line 17 def initialize( = {}) @options = @violations = [] end |
Class Attribute Details
.aliases ⇒ Object
Returns the value of attribute aliases.
7 8 9 |
# File 'lib/mdlint/linter/rule.rb', line 7 def aliases @aliases end |
.description ⇒ Object
Returns the value of attribute description.
7 8 9 |
# File 'lib/mdlint/linter/rule.rb', line 7 def description @description end |
.preset ⇒ Object
Returns the value of attribute preset.
7 8 9 |
# File 'lib/mdlint/linter/rule.rb', line 7 def preset @preset end |
.rule_id ⇒ Object
Returns the value of attribute rule_id.
7 8 9 |
# File 'lib/mdlint/linter/rule.rb', line 7 def rule_id @rule_id end |
Instance Attribute Details
#violations ⇒ Object (readonly)
Returns the value of attribute violations.
15 16 17 |
# File 'lib/mdlint/linter/rule.rb', line 15 def violations @violations end |
Class Method Details
.inherited(subclass) ⇒ Object
9 10 11 12 |
# File 'lib/mdlint/linter/rule.rb', line 9 def inherited(subclass) super RuleRegistry.register(subclass) end |
Instance Method Details
#add_violation(message:, line:, column: nil, fixable: false) ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/mdlint/linter/rule.rb', line 32 def add_violation(message:, line:, column: nil, fixable: false) @violations << Violation.new( rule_id: self.class.rule_id, message: , line: line, column: column, fixable: fixable, severity: @options[:severity] || :warning ) end |
#check(_tokens, _source) ⇒ Array[Violation]
22 23 24 |
# File 'lib/mdlint/linter/rule.rb', line 22 def check(_tokens, _source) raise NotImplementedError, "Subclasses must implement #check" end |
#fix(_tokens, _source) ⇒ String
26 27 28 |
# File 'lib/mdlint/linter/rule.rb', line 26 def fix(_tokens, _source) _source end |