class HamlLint::Linter::MultilinePipe

Checks for uses of the multiline pipe character.

Constants

MESSAGE
MULTILINE_PIPE_REGEX

Public Instance Methods

visit_plain(node) click to toggle source
# File lib/haml_lint/linter/multiline_pipe.rb, line 23
def visit_plain(node)
  line = line_text_for_node(node)

  # Plain text nodes are allowed to consist of a single pipe
  return if line.strip == '|'

  record_lint(node, MESSAGE) if line.match(MULTILINE_PIPE_REGEX)
end
visit_script(node) click to toggle source
# File lib/haml_lint/linter/multiline_pipe.rb, line 15
def visit_script(node)
  check(node)
end
visit_silent_script(node) click to toggle source
# File lib/haml_lint/linter/multiline_pipe.rb, line 19
def visit_silent_script(node)
  check(node)
end
visit_tag(node) click to toggle source
# File lib/haml_lint/linter/multiline_pipe.rb, line 11
def visit_tag(node)
  check(node)
end

Private Instance Methods

check(node) click to toggle source
# File lib/haml_lint/linter/multiline_pipe.rb, line 40
def check(node)
  line = line_text_for_node(node)
  record_lint(node, MESSAGE) if line.match(MULTILINE_PIPE_REGEX)
end
line_text_for_node(node) click to toggle source
# File lib/haml_lint/linter/multiline_pipe.rb, line 36
def line_text_for_node(node)
  document.source_lines[node.line - 1]
end