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 6 def initialize(delayer, &proc) @delayer, @proc = delayer, 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 33 def cancel unless :stop == @state 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 18 def run unless :stop == @state raise Delayer::StateError(@state), "call twice Delayer::Procedure" end @state = :run @proc.call @state = :done @proc = nil end