class Delayer::Deferred::Deferred
Public Class Methods
Thread()
click to toggle source
# File lib/delayer/deferred/deferred.rb, line 14 def self.Thread @thread_class ||= gen_thread_class end
delayer()
click to toggle source
# File lib/delayer/deferred/deferred.rb, line 23 def self.delayer ::Delayer end
gen_thread_class()
click to toggle source
# File lib/delayer/deferred/deferred.rb, line 17 def self.gen_thread_class the_delayer = delayer Class.new(Thread) do define_singleton_method(:delayer) do the_delayer end end end
inherited(subclass)
click to toggle source
# File lib/delayer/deferred/deferred.rb, line 10 def self.inherited(subclass) subclass.extend(::Delayer::Deferred) end
new(follow = nil)
click to toggle source
Calls superclass method
# File lib/delayer/deferred/deferred.rb, line 34 def initialize(follow = nil) super() @follow = follow @backtrace = caller if ::Delayer::Deferred.debug end
new(*args)
click to toggle source
Calls superclass method
# File lib/delayer/deferred/deferred.rb, line 26 def self.new(*args) deferred = super(*args) if block_given? deferred.next(&Proc.new) else deferred end end
Public Instance Methods
cancel()
click to toggle source
# File lib/delayer/deferred/deferred.rb, line 40 def cancel deferredable_cancel @follow.cancel if @follow.is_a? Deferredable end
Also aliased as: deferredable_cancel
inspect()
click to toggle source
# File lib/delayer/deferred/deferred.rb, line 44 def inspect if ::Delayer::Deferred.debug sprintf("#<%s: %p %s follow:%p stat:%s value:%s>".freeze, self.class, object_id, @backtrace.find{|n|not n.include?("delayer/deferred".freeze)}, @follow ? @follow.object_id : 0, @next_call_stat.inspect, @next_call_value.inspect) else sprintf("#<%s: %p stat:%s value:%s>".freeze, self.class, object_id, @next_call_stat.inspect, @next_call_value.inspect) end end