1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Move skeleton methods from AV to AbsC

The methods:

 * #render_to_body
 * #render_to_string
 * #_normalize_render

Haven't had anything specyfic to ActionView. This was common code which should belong to AbstractController
This commit is contained in:
Łukasz Strzałkowski 2013-09-03 14:57:33 +02:00
parent e3b695331d
commit aea02eb430
2 changed files with 19 additions and 29 deletions

View file

@ -18,6 +18,12 @@ module AbstractController
self.protected_instance_variables = []
end
# Normalize arguments, options and then delegates render_to_body and
# sticks the result in self.response_body.
# :api: public
def render(*args, &block)
end
# Raw rendering of a template to a string.
#
# It is similar to render, except that it does not
@ -30,17 +36,15 @@ module AbstractController
# overridden in order to still return a string.
# :api: plugin
def render_to_string(*args, &block)
options = _normalize_render(*args, &block)
render_to_body(options)
end
# Raw rendering of a template.
# :api: plugin
def render_to_body(options = {})
end
# Normalize arguments, options and then delegates render_to_body and
# sticks the result in self.response_body.
# :api: public
def render(*args, &block)
def render_to_body(options = {})
_process_options(options)
_render_template(options)
end
# Return Content-Type of rendered content
@ -83,5 +87,13 @@ module AbstractController
def _process_options(options)
options
end
# Normalize args and options.
# :api: private
def _normalize_render(*args, &block)
options = _normalize_args(*args, &block)
_normalize_options(options)
options
end
end
end

View file

@ -84,20 +84,6 @@ module ActionView
self.response_body = render_to_body(options)
end
# Raw rendering of a template to a string.
# :api: public
def render_to_string(*args, &block)
options = _normalize_render(*args, &block)
render_to_body(options)
end
# Raw rendering of a template.
# :api: public
def render_to_body(options = {})
_process_options(options)
_render_template(options)
end
# Find and renders a template based on the options given.
# :api: private
def _render_template(options) #:nodoc:
@ -111,14 +97,6 @@ module ActionView
private
# Normalize args and options.
# :api: private
def _normalize_render(*args, &block)
options = _normalize_args(*args, &block)
_normalize_options(options)
options
end
# Normalize args by converting render "foo" to render :action => "foo" and
# render "foo/bar" to render :file => "foo/bar".
# :api: private