Class: SCSSLint::Linter::MergeableSelector
- Inherits:
-
SCSSLint::Linter
- Object
- Sass::Tree::Visitors::Base
- SCSSLint::Linter
- SCSSLint::Linter::MergeableSelector
- Includes:
- SCSSLint::LinterRegistry
- Defined in:
- lib/scss_lint/linter/mergeable_selector.rb
Overview
Checks for rule sets that can be merged with other rule sets.
Constant Summary
Constants included from Utils
Instance Attribute Summary
Attributes inherited from SCSSLint::Linter
Instance Method Summary collapse
- #check_node(node) ⇒ Object (also: #visit_root, #visit_rule)
Methods included from SCSSLint::LinterRegistry
extract_linters_from, included
Methods inherited from SCSSLint::Linter
Methods included from Utils
#color?, #color_hex?, #color_keyword?, #color_keyword_to_code, #extract_string_selectors, #node_ancestor, #node_siblings, #pluralize, #previous_node, #remove_quoted_strings, #same_position?
Methods included from SelectorVisitor
Constructor Details
This class inherits a constructor from SCSSLint::Linter
Instance Method Details
#check_node(node) ⇒ Object Also known as: visit_root, visit_rule
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/scss_lint/linter/mergeable_selector.rb', line 6 def check_node(node) node.children.each_with_object([]) do |child_node, seen_nodes| next unless child_node.is_a?(Sass::Tree::RuleNode) mergeable_node = find_mergeable_node(child_node, seen_nodes) seen_nodes << child_node next unless mergeable_node add_lint child_node.line, "Merge rule `#{node_rule(child_node)}` with rule " \ "on line #{mergeable_node.line}" end yield # Continue linting children end |