aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/helpers/cache_helper.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2008-01-10 03:17:20 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2008-01-10 03:17:20 +0000
commita8eb90fcee1efdc491c9eb030827b46929ea979c (patch)
treeaad46c0c0e483ad77a129777f1d4a641c1d334c0 /actionpack/lib/action_view/helpers/cache_helper.rb
parent59f222dbf7c05e3d1f9e71831bc79e2a5ed4a5b5 (diff)
downloadrails-a8eb90fcee1efdc491c9eb030827b46929ea979c.tar.gz
rails-a8eb90fcee1efdc491c9eb030827b46929ea979c.tar.bz2
rails-a8eb90fcee1efdc491c9eb030827b46929ea979c.zip
Move fragment caching from special helper methods to TemplateHandler. Closes #10754 [Josh Peek]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8619 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_view/helpers/cache_helper.rb')
-rw-r--r--actionpack/lib/action_view/helpers/cache_helper.rb19
1 files changed, 2 insertions, 17 deletions
diff --git a/actionpack/lib/action_view/helpers/cache_helper.rb b/actionpack/lib/action_view/helpers/cache_helper.rb
index 783a5acdbc..059f2edf0f 100644
--- a/actionpack/lib/action_view/helpers/cache_helper.rb
+++ b/actionpack/lib/action_view/helpers/cache_helper.rb
@@ -33,23 +33,8 @@ module ActionView
# <% end %>
def cache(name = {}, options = nil, &block)
template_extension = find_template_extension_for(first_render)[/\.(\w+)$/, 1].to_sym
-
- case template_extension
- when :erb, :rhtml
- @controller.cache_erb_fragment(block, name, options)
- when :rjs
- @controller.cache_rjs_fragment(block, name, options)
- when :builder, :rxml
- @controller.cache_rxml_fragment(block, name, options)
- else
- # Give template engine writers a hook to implement their own caching approach
- if @controller.respond_to?("cache_#{template_extension}_fragment")
- @controller.send!("cache_#{template_extension}_fragment", block, name, options)
- else
- # Let the ERb approach be the default one if the plugin doesn't specify it's own
- @controller.cache_erb_fragment(block, name, options)
- end
- end
+ handler = Base.handler_for_extension(template_extension)
+ handler.new(@controller).cache_fragment(block, name, options)
end
end
end