module ERBLint::Linters::Helpers::RuleHelpers
def erb_nodes(processed_source)
def erb_nodes(processed_source) processed_source.parser.ast.descendants(:erb) end
def extract_ruby_from_erb_node(erb_node)
def extract_ruby_from_erb_node(erb_node) return unless erb_node.type == :erb _, _, code_node = *erb_node code_node.loc.source.strip end
def generate_node_offense(klass, processed_source, node, message = nil)
def generate_node_offense(klass, processed_source, node, message = nil) message ||= klass::MESSAGE offense = ["#{klass.name}:#{message}", node.loc.source].join("\n") add_offense(processed_source.to_source_range(node.loc), offense) end
def generate_offense(klass, processed_source, tag, message = nil, replacement = nil)
def generate_offense(klass, processed_source, tag, message = nil, replacement = nil) message ||= klass::MESSAGE klass_name = klass.name.demodulize offense = ["#{klass_name}:#{message}", tag.node.loc.source].join("\n") add_offense(processed_source.to_source_range(tag.loc), offense, replacement) end
def tags(processed_source)
def tags(processed_source) processed_source.parser.nodes_with_type(:tag).map { |tag_node| BetterHtml::Tree::Tag.from_node(tag_node) } end