Class: ActionView::StreamingTemplateRenderer
- Inherits:
- 
      TemplateRenderer
      
        - Object
- AbstractRenderer
- TemplateRenderer
- ActionView::StreamingTemplateRenderer
 
- Defined in:
- actionview/lib/action_view/renderer/streaming_template_renderer.rb
Overview
TODO
- 
Support streaming from child templates, partials and so on. 
- 
Rack::Cache needs to support streaming bodies 
Defined Under Namespace
Classes: Body
Instance Method Summary collapse
- 
  
    
      #render_template(view, template, layout_name = nil, locals = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    For streaming, instead of rendering a given a template, we return a Body object that responds to each. 
Methods inherited from TemplateRenderer
Methods inherited from AbstractRenderer
Constructor Details
This class inherits a constructor from ActionView::AbstractRenderer
Instance Method Details
#render_template(view, template, layout_name = nil, locals = {}) ⇒ Object
For streaming, instead of rendering a given a template, we return a Body object that responds to each. This object is initialized with a block that knows how to render the template.
| 44 45 46 47 48 49 50 51 52 53 | # File 'actionview/lib/action_view/renderer/streaming_template_renderer.rb', line 44 def render_template(view, template, layout_name = nil, locals = {}) # :nodoc: return [super.body] unless layout_name && template.supports_streaming? locals ||= {} layout = find_layout(layout_name, locals.keys, [formats.first]) Body.new do |buffer| delayed_render(buffer, template, layout, view, locals) end end |