class BetterHtml::TestHelper::SafeErb::NoStatements
Public Instance Methods
validate()
click to toggle source
# File lib/better_html/test_helper/safe_erb/no_statements.rb, line 7 def validate script_tags.each do |tag, content_node| no_statements(content_node) unless content_node.present? && tag.attributes['type']&.value == "text/html" end if @parser.template_language == :javascript @parser.nodes_with_type(:text).each do |node| no_statements(node) end end @parser.nodes_with_type(:cdata, :comment).each do |node| no_statements(node) end end
Private Instance Methods
no_statements(node)
click to toggle source
# File lib/better_html/test_helper/safe_erb/no_statements.rb, line 25 def no_statements(node) erb_nodes(node).each do |erb_node, indicator_node, code_node| next unless indicator_node.nil? source = code_node.loc.source next if /\A\s*end/m === source add_error( "erb statement not allowed here; did you mean '<%=' ?", location: erb_node.loc, ) end end