class Delayer::Deferred::Deferred
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