From 9fedae27d786cf57f3cce36eb42d8f5c031b80d4 Mon Sep 17 00:00:00 2001 From: Justin Collins Date: Fri, 7 Feb 2014 10:00:47 +0100 Subject: [PATCH] Ignore identically rendered templates --- lib/brakeman/processors/lib/render_helper.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/brakeman/processors/lib/render_helper.rb b/lib/brakeman/processors/lib/render_helper.rb index e75f470c..25e4dd98 100644 --- a/lib/brakeman/processors/lib/render_helper.rb +++ b/lib/brakeman/processors/lib/render_helper.rb @@ -129,6 +129,14 @@ module Brakeman::RenderHelper #TODO: Add in :locals => { ... } to environment src = Brakeman::TemplateAliasProcessor.new(@tracker, template, called_from).process_safely(template[:src], template_env) + digest = Digest::SHA1.new.update(name + src.to_s).to_s.to_sym + + if @tracker.template_cache.include? digest + return + else + @tracker.template_cache << digest + end + #Run alias-processed src through the template processor to pull out #information and outputs. #This information will be stored in tracker.templates, but with a name -- GitLab