class ActionView::TemplateRenderer
def resolve_layout(layout, keys, formats)
def resolve_layout(layout, keys, formats) details = @details.dup details[:formats] = formats case layout when String begin if layout =~ /^\// with_fallbacks { find_template(layout, nil, false, keys, details) } else find_template(layout, nil, false, keys, details) end rescue ActionView::MissingTemplate all_details = @details.merge(:formats => @lookup_context.default_formats) raise unless template_exists?(layout, nil, false, keys, all_details) end when Proc resolve_layout(layout.call(formats), keys, formats) else layout end end