class Codeqa::Checkers::CheckErbHtml
Public Class Methods
check?(sourcefile)
click to toggle source
# File lib/codeqa/checkers/check_erb_html.rb, line 6 def self.check?(sourcefile) sourcefile.html? end
Public Instance Methods
check()
click to toggle source
# File lib/codeqa/checkers/check_erb_html.rb, line 18 def check result = nil with_existing_file(html) do |filename| Open3.popen3("tidy -q -e -xml '#{filename}'") do |_in_stream, _out_stream, err_stream| message = err_stream.read result = message if message =~ /(Error:|missing trailing quote|end of file while parsing attributes)/m end # IO.popen end # Tempfile return unless result errors.add(:source, html) errors.add(nil, result) end
hint()
click to toggle source
# File lib/codeqa/checkers/check_erb_html.rb, line 14 def hint 'The html I see after removing the erb stuff is not valid (find the unclosed tags and attributes).' end
html()
click to toggle source
# File lib/codeqa/checkers/check_erb_html.rb, line 32 def html @html ||= begin html = ErbSanitizer.new(sourcefile.content).result html = html.force_encoding('UTF-8') if html.respond_to?(:force_encoding) html.gsub(%r{<script[ >].*?</script>|<style[ >].*?</style>}m, '<!--removed script/style tag-->') end end
name()
click to toggle source
# File lib/codeqa/checkers/check_erb_html.rb, line 10 def name 'erb html' end