aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/renderer/fibered_template_renderer.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-04-16 10:28:47 +0200
committerJosé Valim <jose.valim@gmail.com>2011-04-16 10:28:47 +0200
commite30ca001efa861cc13259ca8287837174b24e679 (patch)
treeab47ef08d8c2e8773bb7fc6d6d24cda6cd32bf66 /actionpack/lib/action_view/renderer/fibered_template_renderer.rb
parent2dd43c3f804176d114cdbfeb8a0f92a43155baee (diff)
downloadrails-e30ca001efa861cc13259ca8287837174b24e679.tar.gz
rails-e30ca001efa861cc13259ca8287837174b24e679.tar.bz2
rails-e30ca001efa861cc13259ca8287837174b24e679.zip
Yo dawg, I heard you like streaming. So I put a fiber, inside a block, inside a body, so you can stream.
Diffstat (limited to 'actionpack/lib/action_view/renderer/fibered_template_renderer.rb')
-rw-r--r--actionpack/lib/action_view/renderer/fibered_template_renderer.rb35
1 files changed, 0 insertions, 35 deletions
diff --git a/actionpack/lib/action_view/renderer/fibered_template_renderer.rb b/actionpack/lib/action_view/renderer/fibered_template_renderer.rb
deleted file mode 100644
index 45f48cab76..0000000000
--- a/actionpack/lib/action_view/renderer/fibered_template_renderer.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-require 'action_view/renderer/template_renderer'
-require 'fiber'
-
-module ActionView
- class FiberedTemplateRenderer < TemplateRenderer #:nodoc:
- # Renders the given template. An string representing the layout can be
- # supplied as well.
- def render_template(template, layout_name = nil, locals = {}) #:nodoc:
- view, locals = @view, locals || {}
-
- final = nil
- layout = layout_name && find_layout(layout_name, locals.keys)
- yielder = lambda { |*name| view._layout_for(*name) }
-
- instrument(:template, :identifier => template.identifier, :layout => layout.try(:virtual_path)) do
- @fiber = Fiber.new do
- final = if layout
- layout.render(view, locals, &yielder)
- else
- view._layout_for
- end
- end
-
- @view._view_flow = FiberedFlow.new(view._view_flow, @fiber)
- @fiber.resume
-
- content = template.render(view, locals, &yielder)
- view._view_flow.set(:layout, content)
- @fiber.resume while @fiber.alive?
- end
-
- final
- end
- end
-end