class ActionView::AbstractRenderer

:nodoc:
into a separate classes for partials and templates.
that new object is called in turn. This abstracts the set up and rendering
renderer object of the correct type is created, and the render method on
Whenever the render method is called on the base Renderer class, a new
StreamingTemplateRenderer - Used for streaming
TemplateRenderer - Used for rendering other types of templates
PartialRenderer - Used for rendering partials
renderers. These currently consist of
The base Renderer class uses its render method to delegate to the
render a specific type of object.
subclasses AbstractRenderer is used by the base Renderer class to
This class defines the interface for a renderer. Each class that

def build_rendered_collection(templates, spacer)

def build_rendered_collection(templates, spacer)
  RenderedCollection.new templates, spacer
end

def build_rendered_template(content, template)

def build_rendered_template(content, template)
  RenderedTemplate.new content, template
end

def extract_details(options) # :doc:

:doc:
def extract_details(options) # :doc:
  details = nil
  LookupContext.registered_details.each do |key|
    value = options[key]
    if value
      (details ||= {})[key] = Array(value)
    end
  end
  details || NO_DETAILS
end

def initialize(lookup_context)

def initialize(lookup_context)
  @lookup_context = lookup_context
end

def prepend_formats(formats) # :doc:

:doc:
def prepend_formats(formats) # :doc:
  formats = Array(formats)
  return if formats.empty? || @lookup_context.html_fallback_for_js
  @lookup_context.formats = formats | @lookup_context.formats
end

def render

def render
  raise NotImplementedError
end