module DeferrableGratification::Fluent

Allows JQuery-style fluent syntax for registering several callbacks and errbacks on the same Deferrable. e.g.

DeferrableMonkeyShaver.new(monkey).
  callback { puts "Monkey is shaved" }.
  callback { monkey.entertain! }.
  errback {|e| puts "Unable to shave monkey! #{e}" }.
  errback {|_| monkey.terminate! }.
  shave

Include this into a class that has already included Deferrable.

Public Instance Methods

callback(&block) click to toggle source

Register block to be called on success.

@return [Deferrable, Fluent] self

@see EventMachine::Deferrable#callback

Calls superclass method
# File lib/deferrable_gratification/fluent.rb, line 19
def callback(&block)
  super(&block)
  self
end
errback(&block) click to toggle source

Register block to be called on failure.

@return [Deferrable, Fluent] self

@see EventMachine::Deferrable#errback

Calls superclass method
# File lib/deferrable_gratification/fluent.rb, line 29
def errback(&block)
  super(&block)
  self
end
timeout(seconds) click to toggle source

Ensure that if this Deferrable doesn’t either succeed or fail within the timeout, it will call its errback with no parameters.

@return [Deferrable, Fluent] self

@see EventMachine::Deferrable#timeout

Calls superclass method
# File lib/deferrable_gratification/fluent.rb, line 40
def timeout(seconds)
  super(seconds)
  self
end