aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-05-03 16:51:08 +0200
committerJosé Valim <jose.valim@gmail.com>2011-05-03 16:51:47 +0200
commitf9849070acb4c7df0b60c61cea3a927191851e92 (patch)
tree0ac9c778331d7be47c83e1eabafb88c2175718ce /actionpack
parentf82767e276b7f6fcd7c0770348cb8f1716365dba (diff)
downloadrails-f9849070acb4c7df0b60c61cea3a927191851e92.tar.gz
rails-f9849070acb4c7df0b60c61cea3a927191851e92.tar.bz2
rails-f9849070acb4c7df0b60c61cea3a927191851e92.zip
Add a shared entry point for AV and AC render which can be used as extension in the future.
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/abstract_controller/rendering.rb6
-rw-r--r--actionpack/lib/action_view/helpers/rendering_helper.rb4
-rw-r--r--actionpack/lib/action_view/renderer/renderer.rb9
3 files changed, 11 insertions, 8 deletions
diff --git a/actionpack/lib/abstract_controller/rendering.rb b/actionpack/lib/abstract_controller/rendering.rb
index db6ff41f55..7f1a790ecc 100644
--- a/actionpack/lib/abstract_controller/rendering.rb
+++ b/actionpack/lib/abstract_controller/rendering.rb
@@ -132,11 +132,7 @@ module AbstractController
# Find and renders a template based on the options given.
# :api: private
def _render_template(options) #:nodoc:
- if options.key?(:partial)
- view_renderer.render_partial(view_context, options)
- else
- view_renderer.render_template(view_context, options)
- end
+ view_renderer.render(view_context, options)
end
# The prefixes used in render "foo" shortcuts.
diff --git a/actionpack/lib/action_view/helpers/rendering_helper.rb b/actionpack/lib/action_view/helpers/rendering_helper.rb
index c91e03b7e8..47efdded42 100644
--- a/actionpack/lib/action_view/helpers/rendering_helper.rb
+++ b/actionpack/lib/action_view/helpers/rendering_helper.rb
@@ -20,10 +20,8 @@ module ActionView
when Hash
if block_given?
view_renderer.render_partial(self, options.merge(:partial => options[:layout]), &block)
- elsif options.key?(:partial)
- view_renderer.render_partial(self, options)
else
- view_renderer.render_template(self, options)
+ view_renderer.render(self, options)
end
else
view_renderer.render_partial(self, :partial => options, :locals => locals)
diff --git a/actionpack/lib/action_view/renderer/renderer.rb b/actionpack/lib/action_view/renderer/renderer.rb
index 3c0126f6bb..1fa51d276f 100644
--- a/actionpack/lib/action_view/renderer/renderer.rb
+++ b/actionpack/lib/action_view/renderer/renderer.rb
@@ -10,6 +10,15 @@ module ActionView
@controller = controller
end
+ # Main render entry point shared by AV and AC.
+ def render(context, options)
+ if options.key?(:partial)
+ render_partial(context, options)
+ else
+ render_template(context, options)
+ end
+ end
+
# Render but returns a valid Rack body. If fibers are defined, we return
# a streaming body that renders the template piece by piece.
#