class Concurrent::Edge::ThenPromise
@!visibility private
Public Class Methods
new(blocked_by_future, default_executor, executor, &task)
click to toggle source
Calls superclass method
Concurrent::Edge::BlockedTaskPromise.new
# File lib/concurrent/edge/future.rb, line 1096 def initialize(blocked_by_future, default_executor, executor, &task) raise ArgumentError, 'only Future can be appended with then' unless blocked_by_future.is_a? Future super blocked_by_future, default_executor, executor, &task end
Private Instance Methods
on_completable(done_future)
click to toggle source
# File lib/concurrent/edge/future.rb, line 1101 def on_completable(done_future) if done_future.success? Concurrent.post_on(@Executor, done_future, @Task) do |future, task| evaluate_to lambda { future.apply task } end else complete_with done_future.internal_state end end