class Q::Defer

Attributes

promise[R]
state[R]

Public Class Methods

new() click to toggle source
# File lib/q/defer.rb, line 4
def initialize
  @promise = Q::Promise.new(self)
  @state = :active
end

Public Instance Methods

finished?() click to toggle source
# File lib/q/defer.rb, line 35
def finished?
  @state == :resolved || @state == :rejected
end
reject(result = nil) click to toggle source
# File lib/q/defer.rb, line 18
def reject(result = nil)
  unless finished?
    @state = :rejected
    @promise.fulfill(@state, result)
  end

  @promise
end
rejected?() click to toggle source
# File lib/q/defer.rb, line 31
def rejected?
  @state == :rejected
end
resolve(result = nil) click to toggle source
# File lib/q/defer.rb, line 9
def resolve(result = nil)
  unless finished?
    @state = :resolved
    @promise.fulfill(@state, result)
  end

  @promise
end
resolved?() click to toggle source
# File lib/q/defer.rb, line 27
def resolved?
  @state == :resolved
end