Class: Handsoap::Deferred
- Inherits:
-
Object
- Object
- Handsoap::Deferred
- Defined in:
- lib/handsoap/deferred.rb
Instance Method Summary (collapse)
- - (Object) callback(&block)
- - (Object) errback(&block)
- - (Boolean) has_callback?
- - (Boolean) has_errback?
-
- (Deferred) initialize
constructor
A new instance of Deferred.
- - (Object) trigger_callback(*args)
- - (Object) trigger_errback(*args)
Constructor Details
- (Deferred) initialize
A new instance of Deferred
5 6 7 8 9 10 |
# File 'lib/handsoap/deferred.rb', line 5 def initialize @callback = nil @callback_cache = nil @errback = nil @errback_cache = nil end |
Instance Method Details
- (Object) callback(&block)
17 18 19 20 21 22 23 24 25 |
# File 'lib/handsoap/deferred.rb', line 17 def callback(&block) raise "Already assigned a block for callback" if @callback @callback = block if @callback_cache payload = @callback_cache trigger_callback(*payload) end self end |
- (Object) errback(&block)
26 27 28 29 30 31 32 33 34 |
# File 'lib/handsoap/deferred.rb', line 26 def errback(&block) raise "Already assigned a block for errback" if @errback @errback = block if @errback_cache payload = @errback_cache trigger_errback(*payload) end self end |
- (Boolean) has_callback?
11 12 13 |
# File 'lib/handsoap/deferred.rb', line 11 def has_callback? !! @callback end |
- (Boolean) has_errback?
14 15 16 |
# File 'lib/handsoap/deferred.rb', line 14 def has_errback? !! @errback end |
- (Object) trigger_callback(*args)
35 36 37 38 39 40 41 |
# File 'lib/handsoap/deferred.rb', line 35 def trigger_callback(*args) if @callback @callback.call(*args) else @callback_cache = args end end |
- (Object) trigger_errback(*args)
42 43 44 45 46 47 48 |
# File 'lib/handsoap/deferred.rb', line 42 def trigger_errback(*args) if @errback @errback.call(*args) else @errback_cache = args end end |