# class ActionView::Renderer

This is the main entry point for rendering. It basically delegates to other objects like TemplateRenderer and PartialRenderer which actually renders the template.

### Attributes

lookup_context[RW]

### Public Class Methods

new(lookup_context) click to toggle source

    # File lib/action_view/renderer/renderer.rb, line 8
    def initialize(lookup_context)
      @lookup_context = lookup_context
    end

### Public Instance Methods

render(context, options) click to toggle source

Main render entry point shared by AV and AC.

    # File lib/action_view/renderer/renderer.rb, line 13
    def render(context, options)
      if options.key?(:partial)
        render_partial(context, options)
      else
        render_template(context, options)
      end
    end

render_body(context, options) click to toggle source

Render but returns a valid Rack body. If fibers are defined, we return a streaming body that renders the template piece by piece.

Note that partials are not supported to be rendered with streaming, so in such cases, we just wrap them in an array.

    # File lib/action_view/renderer/renderer.rb, line 26
    def render_body(context, options)
      if options.key?(:partial)
        [render_partial(context, options)]
      else
        StreamingTemplateRenderer.new(@lookup_context).render(context, options)
      end
    end