class Delayer::Deferred::Promise

Public Class Methods

Promise() click to toggle source
# File lib/delayer/deferred/promise.rb, line 20
def Promise
  self
end
Thread() click to toggle source
# File lib/delayer/deferred/promise.rb, line 17
def Thread
  @thread_class ||= gen_thread_class end
delayer() click to toggle source
# File lib/delayer/deferred/promise.rb, line 24
def delayer
  ::Delayer
end
new(stop=false, name: caller_locations(1,1).first.to_s, &block) click to toggle source
Calls superclass method
# File lib/delayer/deferred/promise.rb, line 10
def new(stop=false, name: caller_locations(1,1).first.to_s, &block)
  result = promise = super(name: name)
  result = promise.next(&block) if block_given?
  promise.call(true) unless stop
  result
end
new(name:) click to toggle source
Calls superclass method
# File lib/delayer/deferred/promise.rb, line 44
def initialize(name:)
  super()
  @name = name
end
to_s() click to toggle source
# File lib/delayer/deferred/promise.rb, line 28
def to_s
  "#{self.delayer}.Promise"
end

Private Class Methods

gen_thread_class() click to toggle source
# File lib/delayer/deferred/promise.rb, line 34
def gen_thread_class
  the_delayer = delayer
  Class.new(Thread) do
    define_singleton_method(:delayer) do
      the_delayer
    end
  end
end

Public Instance Methods

activate(response) click to toggle source
# File lib/delayer/deferred/promise.rb, line 49
def activate(response)
  change_sequence(:activate)
  change_sequence(:complete)
  response
end
ancestor() click to toggle source
# File lib/delayer/deferred/promise.rb, line 59
def ancestor
  self
end
inspect() click to toggle source
# File lib/delayer/deferred/promise.rb, line 55
def inspect
  "#<#{self.class} seq:#{sequence.name}>"
end
parent=(chainable) click to toggle source
# File lib/delayer/deferred/promise.rb, line 63
def parent=(chainable)
  fail Error, "#{self.class} can't has parent."
end

Private Instance Methods

graph_shape() click to toggle source
# File lib/delayer/deferred/promise.rb, line 69
def graph_shape
  'egg'.freeze
end
node_name() click to toggle source
# File lib/delayer/deferred/promise.rb, line 73
def node_name
  @name.to_s
end