aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/template/resolver.rb
diff options
context:
space:
mode:
authorJeremy Daer <jeremydaer@gmail.com>2016-04-19 10:59:37 -0700
committerJeremy Daer <jeremydaer@gmail.com>2016-04-19 19:20:37 -0700
commit9918118a97c91742d94a0e677603f2e3301eebdc (patch)
tree838d318676a07205d3f83b52f69141258b736849 /actionview/lib/action_view/template/resolver.rb
parente86c5f09c4aaa533bd33c47bfe0bbf9303afeed8 (diff)
downloadrails-9918118a97c91742d94a0e677603f2e3301eebdc.tar.gz
rails-9918118a97c91742d94a0e677603f2e3301eebdc.tar.bz2
rails-9918118a97c91742d94a0e677603f2e3301eebdc.zip
Ensure Cache#inspect doesn't block concurrent cache writes
Object#inspect recursively inspects instance variables, exposing all internal state, including sensitive internal cache objects. Override Cache#inspect to give a high-level summary that never interferes with concurrent cache writes.
Diffstat (limited to 'actionview/lib/action_view/template/resolver.rb')
-rw-r--r--actionview/lib/action_view/template/resolver.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/actionview/lib/action_view/template/resolver.rb b/actionview/lib/action_view/template/resolver.rb
index f33acc2103..c5e69b1833 100644
--- a/actionview/lib/action_view/template/resolver.rb
+++ b/actionview/lib/action_view/template/resolver.rb
@@ -55,6 +55,10 @@ module ActionView
@query_cache = SmallCache.new
end
+ def inspect
+ "#<#{self.class.name}:0x#{(object_id << 1).to_s(16)} keys=#{@data.size} queries=#{@query_cache.size}>"
+ end
+
# Cache the templates returned by the block
def cache(key, name, prefix, partial, locals)
if Resolver.caching?