diff options
author | José Valim <jose.valim@gmail.com> | 2010-03-08 03:23:16 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-03-08 03:23:23 +0100 |
commit | 34b2180451f842b180dd925bab10e8f4afa34490 (patch) | |
tree | fd364e4ee5944c6bb99c1badc97caa815e8eae1e /actionpack/lib/abstract_controller | |
parent | 4bae77a89baf0fee15c6b2cfd3987f7344b56a1f (diff) | |
download | rails-34b2180451f842b180dd925bab10e8f4afa34490.tar.gz rails-34b2180451f842b180dd925bab10e8f4afa34490.tar.bz2 rails-34b2180451f842b180dd925bab10e8f4afa34490.zip |
More refactoring. Split _normalize_args and _normalize_options concerns.
Diffstat (limited to 'actionpack/lib/abstract_controller')
-rw-r--r-- | actionpack/lib/abstract_controller/layouts.rb | 8 | ||||
-rw-r--r-- | actionpack/lib/abstract_controller/rendering.rb | 12 |
2 files changed, 14 insertions, 6 deletions
diff --git a/actionpack/lib/abstract_controller/layouts.rb b/actionpack/lib/abstract_controller/layouts.rb index c6a94c5220..648a2da795 100644 --- a/actionpack/lib/abstract_controller/layouts.rb +++ b/actionpack/lib/abstract_controller/layouts.rb @@ -277,8 +277,8 @@ module AbstractController 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 @@ module AbstractController layout_name end + def _include_layout?(options) + (options.keys & [:text, :inline, :partial]).empty? || options.key?(:layout) + end + def _action_has_layout? true end diff --git a/actionpack/lib/abstract_controller/rendering.rb b/actionpack/lib/abstract_controller/rendering.rb index 8125badc75..9093e90c97 100644 --- a/actionpack/lib/abstract_controller/rendering.rb +++ b/actionpack/lib/abstract_controller/rendering.rb @@ -45,7 +45,8 @@ module AbstractController # 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 @@ module AbstractController # 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 @@ module AbstractController # 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 @@ module AbstractController options end + def _normalize_options(options) + end + # Take in a set of options and determine the template to render # # ==== Options |