Class: When::Deferred

Inherits:
Object
  • Object
show all
Defined in:
lib/when.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDeferred

Returns a new instance of Deferred.



44
45
46
47
48
49
# File 'lib/when.rb', line 44

def initialize
  @resolution = nil
  @callbacks = { :resolved => [], :rejected => [] }
  @resolver = Resolver.new(self)
  @promise = Promise.new(self)
end

Instance Attribute Details

#promiseObject (readonly)

Returns the value of attribute promise.



42
43
44
# File 'lib/when.rb', line 42

def promise
  @promise
end

#resolverObject (readonly)

Returns the value of attribute resolver.



42
43
44
# File 'lib/when.rb', line 42

def resolver
  @resolver
end

Instance Method Details

#callback(&block) ⇒ Object



53
# File 'lib/when.rb', line 53

def callback(&block); add_callback(:resolved, block); end

#errback(&block) ⇒ Object



55
# File 'lib/when.rb', line 55

def errback(&block); add_callback(:rejected, block); end

#reject(*args) ⇒ Object



52
# File 'lib/when.rb', line 52

def reject(*args); mark_resolved(:rejected, args); end

#resolve(*args) ⇒ Object



51
# File 'lib/when.rb', line 51

def resolve(*args); mark_resolved(:resolved, args); end

#resolved?Boolean

Returns:

  • (Boolean)


56
# File 'lib/when.rb', line 56

def resolved?; !@resolution.nil?; end

#then(&block) ⇒ Object



54
# File 'lib/when.rb', line 54

def then(&block); add_callback(:resolved, block); end