1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionpack/lib/action_controller/new_base/layouts.rb

40 lines
1,013 B
Ruby
Raw Normal View History

module ActionController
module Layouts
2009-05-07 11:29:22 -04:00
extend ActiveSupport::DependencyModule
depends_on ActionController::Renderer
depends_on AbstractController::Layouts
2009-04-07 20:57:20 -04:00
module ClassMethods
def _implied_layout_name
controller_path
end
end
def render_to_body(options)
2009-04-07 20:57:20 -04:00
# render :text => ..., :layout => ...
# or
# render :anything_else
if (!options.key?(:text) && !options.key?(:inline) && !options.key?(:partial)) || options.key?(:layout)
options[:_layout] = options.key?(:layout) ? _layout_for_option(options[:layout]) : _default_layout
end
super
end
2009-04-07 20:57:20 -04:00
private
def _layout_for_option(name)
case name
when String then _layout_for_name(name)
when true then _default_layout(true)
when false, nil then nil
else
raise ArgumentError,
"String, true, or false, expected for `layout'; you passed #{name.inspect}"
end
end
end
end