aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/body_parts/queued.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_view/body_parts/queued.rb')
-rw-r--r--actionpack/lib/action_view/body_parts/queued.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/actionpack/lib/action_view/body_parts/queued.rb b/actionpack/lib/action_view/body_parts/queued.rb
new file mode 100644
index 0000000000..f8501f6a85
--- /dev/null
+++ b/actionpack/lib/action_view/body_parts/queued.rb
@@ -0,0 +1,21 @@
+require 'action_view/body_parts/future'
+
+module ActionView
+ module BodyParts
+ class Queued < Future
+ def initialize(job, &block)
+ super(&block)
+ enqueue(job)
+ end
+
+ protected
+ def enqueue(job)
+ @receipt = submit(job)
+ end
+
+ def finish
+ @parts << redeem(@receipt)
+ end
+ end
+ end
+end