Module: Delayer::Deferred::Deferredable
Overview
なんでもDeferred
Defined Under Namespace
Constant Summary collapse
Instance Method Summary collapse
-
#call(value = nil) ⇒ Object
Deferredを直ちに実行する.
- #callback ⇒ Object
-
#cancel ⇒ Object
この一連のDeferredをこれ以上実行しない.
-
#fail(exception = nil) ⇒ Object
Deferredを直ちに失敗させる.
-
#next(&proc) ⇒ Object
(also: #deferred)
このDeferredが成功した場合の処理を追加する。 新しいDeferredのインスタンスを返す.
-
#trap(&proc) ⇒ Object
(also: #error)
このDeferredが失敗した場合の処理を追加する。 新しいDeferredのインスタンスを返す.
-
#wait(second) ⇒ Object
second 秒待って次を実行する ==== Args [second] 待つ秒数(second) ==== Return Deferred.
Instance Method Details
#call(value = nil) ⇒ Object
Deferredを直ちに実行する
23 24 |
# File 'lib/delayer/deferred/deferredable.rb', line 23 def call(value = nil) _call(:ok, value) end |
#callback ⇒ Object
36 37 38 39 |
# File 'lib/delayer/deferred/deferredable.rb', line 36 def callback @callback ||= Callback.new(CallbackDefaultOK, CallbackDefaultNG, BackTrace.new(nil, nil)) end |
#cancel ⇒ Object
この一連のDeferredをこれ以上実行しない
31 32 33 34 |
# File 'lib/delayer/deferred/deferredable.rb', line 31 def cancel @callback = Callback.new(CallbackDefaultOK, CallbackDefaultNG, BackTrace.new(nil, nil).freeze).freeze end |
#fail(exception = nil) ⇒ Object
Deferredを直ちに失敗させる
27 28 |
# File 'lib/delayer/deferred/deferredable.rb', line 27 def fail(exception = nil) _call(:ng, exception) end |
#next(&proc) ⇒ Object Also known as: deferred
このDeferredが成功した場合の処理を追加する。新しいDeferredのインスタンスを返す
12 13 |
# File 'lib/delayer/deferred/deferredable.rb', line 12 def next(&proc) _post(:ok, &proc) end |
#trap(&proc) ⇒ Object Also known as: error
このDeferredが失敗した場合の処理を追加する。新しいDeferredのインスタンスを返す
18 19 |
# File 'lib/delayer/deferred/deferredable.rb', line 18 def trap(&proc) _post(:ng, &proc) end |