class Bubbles::CommandQueue

Attributes

config[R]

Public Class Methods

new(config:) click to toggle source
# File lib/bubbles/command_queue.rb, line 7
def initialize(config:)
  @config = config
end

Public Instance Methods

<<(command_object) click to toggle source
# File lib/bubbles/command_queue.rb, line 15
def <<(command_object)
  queue << command_object
end
call_next() click to toggle source
# File lib/bubbles/command_queue.rb, line 19
def call_next
  if command = queue.shift
    log command
    command.call
  else
    log "Nothing in the command queue"
  end
end
inspect() click to toggle source
# File lib/bubbles/command_queue.rb, line 32
def inspect
  "<##{self.class.name} queue:#{queue.inspect} >"
end
queue() click to toggle source
# File lib/bubbles/command_queue.rb, line 11
def queue
  @queue ||= []
end
reschedule(command_object) click to toggle source
# File lib/bubbles/command_queue.rb, line 28
def reschedule(command_object)
  queue.unshift(command_object)
end

Private Instance Methods

log(command) click to toggle source
# File lib/bubbles/command_queue.rb, line 39
def log(command)
  config.logger.debug("Processing: #{command.inspect}")
end