Class: HamlLint::Linter Abstract
- Inherits:
-
Object
- Object
- HamlLint::Linter
- Includes:
- HamlVisitor
- Defined in:
- lib/haml_lint/linter.rb
Overview
Base implementation for all lint checks.
Direct Known Subclasses
AlignmentTabs, AltText, ClassAttributeWithStaticValue, ClassesBeforeIds, ConsecutiveComments, ConsecutiveSilentScripts, EmptyObjectReference, EmptyScript, FinalNewline, HtmlAttributes, IdNames, ImplicitDiv, Indentation, InlineStyles, InstanceVariables, LeadingCommentSpace, LineLength, MultilinePipe, MultilineScript, ObjectReferenceAttributes, RepeatedId, RuboCop, RubyComments, SpaceBeforeScript, SpaceInsideHashAttributes, Syntax, TagName, TrailingWhitespace, UnnecessaryInterpolation, UnnecessaryStringOutput, ViewLength
Defined Under Namespace
Classes: AlignmentTabs, AltText, ClassAttributeWithStaticValue, ClassesBeforeIds, ConsecutiveComments, ConsecutiveSilentScripts, EmptyObjectReference, EmptyScript, FinalNewline, HtmlAttributes, IdNames, ImplicitDiv, Indentation, InlineStyles, InstanceVariables, LeadingCommentSpace, LineLength, MultilinePipe, MultilineScript, ObjectReferenceAttributes, RepeatedId, RuboCop, RubyComments, SpaceBeforeScript, SpaceInsideHashAttributes, Syntax, TagName, TrailingWhitespace, UnnecessaryInterpolation, UnnecessaryStringOutput, ViewLength
Instance Attribute Summary collapse
-
#lints ⇒ Object
readonly
List of lints reported by this linter.
Instance Method Summary collapse
-
#initialize(config) ⇒ Linter
constructor
Initializes a linter with the specified configuration.
-
#name ⇒ String
Returns the simple name for this linter.
-
#run(document) ⇒ Object
Runs the linter against the given Haml document.
Methods included from HamlVisitor
Constructor Details
#initialize(config) ⇒ Linter
Initializes a linter with the specified configuration.
19 20 21 22 |
# File 'lib/haml_lint/linter.rb', line 19 def initialize(config) @config = config @lints = [] end |
Instance Attribute Details
#lints ⇒ Object (readonly)
Remove once spec/support/shared_linter_context returns an array of lints for the subject instead of the linter itself.
List of lints reported by this linter.
14 15 16 |
# File 'lib/haml_lint/linter.rb', line 14 def lints @lints end |
Instance Method Details
#name ⇒ String
Returns the simple name for this linter.
47 48 49 |
# File 'lib/haml_lint/linter.rb', line 47 def name self.class.name.to_s.split('::').last end |
#run(document) ⇒ Object
Runs the linter against the given Haml document.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/haml_lint/linter.rb', line 27 def run(document) @document = document @lints = [] visit(document.tree) @lints rescue Parser::SyntaxError => e location = e.diagnostic.location @lints << HamlLint::Lint.new( HamlLint::Linter::Syntax.new(config), document.file, location.line, e.to_s, :error ) end |