class Delayer::Procedure
Attributes
delayer[R]
next[RW]
state[R]
Public Class Methods
new(delayer, &proc)
click to toggle source
# File lib/delayer/procedure.rb, line 7 def initialize(delayer, &proc) @delayer = delayer @proc = proc @state = :stop @next = nil @delayer.class.register(self) end
Public Instance Methods
break(node)
click to toggle source
cancel()
click to toggle source
Cancel this job
Exception¶ ↑
Delayer::TooLate
-
if already called run()
Return¶ ↑
self
# File lib/delayer/procedure.rb, line 36 def cancel unless @state == :stop raise Delayer::StateError(@state), 'cannot cancel Delayer::Procedure' end @state = :cancel self end
canceled?()
click to toggle source
run()
click to toggle source
Run a process
Exception¶ ↑
Delayer::TooLate
-
if already called run()
Return¶ ↑
node
# File lib/delayer/procedure.rb, line 20 def run unless @state == :stop raise Delayer::StateError(@state), 'call twice Delayer::Procedure' end @state = :run @proc&.call @state = :done @proc = nil end