aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@plataformatec.com.br>2013-09-20 13:23:36 -0700
committerJosé Valim <jose.valim@plataformatec.com.br>2013-09-20 13:23:36 -0700
commiteb1cacf77e8ea72f73229caa9c4014d7cad15c3c (patch)
tree002618fe5aec70bc8d9fd12c2de62f1f55303f92 /actionview/lib
parent34088572270a1dd5a2164b6aa5fc3642cb0479cb (diff)
parent77e79ecd92acd43a282566e5d297b8e74dc14f05 (diff)
downloadrails-eb1cacf77e8ea72f73229caa9c4014d7cad15c3c.tar.gz
rails-eb1cacf77e8ea72f73229caa9c4014d7cad15c3c.tar.bz2
rails-eb1cacf77e8ea72f73229caa9c4014d7cad15c3c.zip
Merge pull request #11452 from dasch/dasch/details-in-digestor-cache-key
Bust the template digest cache key when details are changed
Diffstat (limited to 'actionview/lib')
-rw-r--r--actionview/lib/action_view/digestor.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/actionview/lib/action_view/digestor.rb b/actionview/lib/action_view/digestor.rb
index 95c3200c81..af158a630b 100644
--- a/actionview/lib/action_view/digestor.rb
+++ b/actionview/lib/action_view/digestor.rb
@@ -10,7 +10,10 @@ module ActionView
class << self
def digest(name, format, finder, options = {})
- cache_key = ([name, format] + Array.wrap(options[:dependencies])).join('.')
+ details_key = finder.details_key.hash
+ dependencies = Array.wrap(options[:dependencies])
+ cache_key = ([name, details_key, format] + dependencies).join('.')
+
# this is a correctly done double-checked locking idiom
# (ThreadSafe::Cache's lookups have volatile semantics)
@@cache[cache_key] || @@digest_monitor.synchronize do