module Delayer::Deferred::Deferredable::Trigger
Promiseなど、親を持たず、自身がWorkerを作成できるもの。
Public Instance Methods
call(value = nil)
click to toggle source
Deferredを直ちに実行する。 このメソッドはスレッドセーフです。
# File lib/delayer/deferred/deferredable/trigger.rb, line 15 def call(value = nil) execute(Delayer::Deferred::Response::Ok.new(value)) end
fail(exception = nil)
click to toggle source
Deferredを直ちに失敗させる。 このメソッドはスレッドセーフです。
# File lib/delayer/deferred/deferredable/trigger.rb, line 21 def fail(exception = nil) execute(Delayer::Deferred::Response::Ng.new(exception)) end
Private Instance Methods
execute(value)
click to toggle source
# File lib/delayer/deferred/deferredable/trigger.rb, line 27 def execute(value) worker = Delayer::Deferred::Worker.new(delayer: self.class.delayer, initial: value) worker.push(self) end