Permalink
Browse files

Start cleaning up partial path

  • Loading branch information...
1 parent 9b50648 commit 8534c5bf193c6a234d55116d520a54a1b634a93e @wycats wycats committed Aug 7, 2009
@@ -54,7 +54,7 @@ def render(*args)
# :api: plugin
def render_to_body(options = {})
# TODO: Refactor so we can just use the normal template logic for this
- if options[:_partial_object]
+ if options.key?(:_partial_object)
view_context.render_partial(options)
else
_determine_template(options)
@@ -77,7 +77,7 @@ def render_to_string(options = {})
# _layout<ActionView::Template>:: The layout to wrap the template in (optional)
# _partial<TrueClass, FalseClass>:: Whether or not the template to be rendered is a partial
def _render_template(options)
- view_context.render_template(options[:_template], options[:_layout], options, options[:_partial])
+ view_context.render_template(options)
end
# The list of view paths for this controller. See ActionView::ViewPathSet for
@@ -57,7 +57,7 @@ def _render_partial(partial, options)
when true
options[:_prefix] = _prefix
when String
- options[:_prefix] = _prefix unless partial.index('/')
+ options[:_prefix] = _prefix unless partial.include?(?/)
options[:_template_name] = partial
else
options[:_partial_object] = true
@@ -183,12 +183,12 @@ def _partial_names
end
end
- def render_partial(*args)
+ def render_partial(options)
@assigns_added = false
- _render_partial(*args)
+ _render_partial(options)
end
- def _render_partial(options = {}) #:nodoc:
+ def _render_partial(options) #:nodoc:
options[:locals] ||= {}
path = partial = options[:partial]
@@ -244,7 +244,9 @@ def _array_like_objects
array_like
end
- def _render_partial_object(template, options, object = nil)
+ def _render_partial_object(template, options)
+ object = options[:object]
+
if options.key?(:collection)
_render_partial_collection(options.delete(:collection), options, template)
else
@@ -123,19 +123,25 @@ def _render_text(text, layout, options)
layout ? _render_content_with_layout(text, layout, options[:locals]) : text
end
- def render_template(*args)
+ # This is the API to render a ViewContext's template from a controller.
+ #
+ # Internal Options:
+ # _template:: The Template object to render
+ # _layout:: The layout, if any, to wrap the Template in
+ # _partial:: true if the template is a partial
+ def render_template(options)
@assigns_added = nil
- _render_template_with_layout(*args)
+ template, layout, partial = options.values_at(:_template, :_layout, :_partial)
+ _render_template_with_layout(template, layout, options, partial)
end
- def _render_template_with_layout(template, layout = nil, options = {}, partial = false)
+ def _render_template_with_layout(template, layout = nil, options = {}, partial = nil)
logger && logger.info("Rendering #{template.identifier}#{' (#{options[:status]})' if options[:status]}")
locals = options[:locals] || {}
content = if partial
- object = partial unless partial == true
- _render_partial_object(template, options, object)
+ _render_partial_object(template, options)
else
_render_template(template, locals)
end

0 comments on commit 8534c5b

Please sign in to comment.