class Nestene::AutonExecutionQueue
Public Class Methods
new()
click to toggle source
# File lib/nestene/auton_execution_queue.rb, line 9 def initialize self.to_execute = [] self.executed = [] self.delayed = [] end
Public Instance Methods
add_delayed(delayed_method)
click to toggle source
# File lib/nestene/auton_execution_queue.rb, line 26 def add_delayed delayed_method delayed << delayed_method delayed.sort_by! {|x| x.execute_at} end
add_delayed_method(name, parameters, delay, every = nil)
click to toggle source
# File lib/nestene/auton_execution_queue.rb, line 15 def add_delayed_method name, parameters, delay, every = nil delayed_method = DelayedMethod.new delayed_method.uuid = SecureRandom.uuid delayed_method.name = name delayed_method.parameters = parameters delayed_method.execute_at = Time.now + delay delayed_method.every = every add_delayed(delayed_method) delayed_method end
add_executed(executed)
click to toggle source
# File lib/nestene/auton_execution_queue.rb, line 31 def add_executed executed self.executed.shift while self.executed.size >= 20 self.executed << executed end
remove_delayed_method(method_uuid)
click to toggle source
# File lib/nestene/auton_execution_queue.rb, line 37 def remove_delayed_method method_uuid delayed.delete_if{|m| m.uuid == method_uuid} end