class LoopDance::Task
Attributes
block[RW]
dancer[RW]
interval[RW]
last_run_at[RW]
Public Class Methods
new( dancer, interval, &block )
click to toggle source
# File lib/loop_dance/task.rb, line 4 def initialize( dancer, interval, &block ) run_count=0 self.dancer = dancer self.interval = interval self.block = block # Run tasks when start dancer # self.last_run_at = Time.now end
Public Instance Methods
run()
click to toggle source
# File lib/loop_dance/task.rb, line 18 def run block.call rescue Exception => e puts "Uncaught exception bubbled up: \n#{e.class}: #{e.message}\n\t#{e.backtrace.join("\n\t")} " dancer.send(:stop_dancer) ensure self.last_run_at = Time.now end
time_to_run?()
click to toggle source
# File lib/loop_dance/task.rb, line 14 def time_to_run? !last_run_at || last_run_at + interval <= Time.now end