提交 34b21804 编写于 作者: J José Valim

More refactoring. Split _normalize_args and _normalize_options concerns.

上级 4bae77a8
......@@ -277,8 +277,8 @@ def _layout
end
end
def render_to_body(options={})
if (options.keys & [:text, :inline, :partial]).empty? || options.key?(:layout)
def render_to_body(options)
if _include_layout?(options)
layout = options.key?(:layout) ? options[:layout] : :default
value = _layout_for_option(layout)
......@@ -344,6 +344,10 @@ def _default_layout(require_layout = false)
layout_name
end
def _include_layout?(options)
(options.keys & [:text, :inline, :partial]).empty? || options.key?(:layout)
end
def _action_has_layout?
true
end
......
......@@ -45,7 +45,8 @@ def view_context
# Mostly abstracts the fact that calling render twice is a DoubleRenderError.
# Delegates render_to_body and sticks the result in self.response_body.
def render(*args, &block)
options = _normalize_options(*args, &block)
options = _normalize_args(*args, &block)
_normalize_options(options)
self.response_body = render_to_body(options)
end
......@@ -70,8 +71,8 @@ def render_to_body(options = {})
# render_to_body into a String.
#
# :api: plugin
def render_to_string(*args)
options = _normalize_options(*args)
def render_to_string(options={})
_normalize_options(options)
AbstractController::Rendering.body_to_s(render_to_body(options))
end
......@@ -131,7 +132,7 @@ def self.body_to_s(body)
# Normalize options, by converting render "foo" to render :template => "prefix/foo"
# and render "/foo" to render :file => "/foo".
def _normalize_options(action=nil, options={})
def _normalize_args(action=nil, options={})
case action
when Hash
options, action = action, nil
......@@ -151,6 +152,9 @@ def _normalize_options(action=nil, options={})
options
end
def _normalize_options(options)
end
# Take in a set of options and determine the template to render
#
# ==== Options
......
......@@ -18,6 +18,11 @@ def render(*args)
response_body
end
def render_to_body(options)
_process_options(options)
super
end
private
def _render_partial(options)
......@@ -30,7 +35,7 @@ def format_for_text
formats.first
end
def _normalize_options(action=nil, options={}, &blk)
def _normalize_args(action=nil, options={}, &blk)
case action
when NilClass
when Hash
......@@ -38,9 +43,14 @@ def _normalize_options(action=nil, options={}, &blk)
when String, Symbol
options = super
else
options.merge! :partial => action
options.merge!(:partial => action)
end
options[:update] = blk if block_given?
options
end
def _normalize_options(options)
if options.key?(:text) && options[:text].respond_to?(:to_text)
options[:text] = options[:text].to_text
end
......@@ -49,10 +59,7 @@ def _normalize_options(action=nil, options={}, &blk)
options[:status] = Rack::Utils.status_code(options[:status])
end
options[:update] = blk if block_given?
_process_options(options)
options
super
end
def _process_options(options)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册