module Resque::Additions

def dequeue_from(queue, klass, *args)

def dequeue_from(queue, klass, *args)
  ####### ------ Resque Job --------
  # Perform before_dequeue hooks. Don't perform dequeue if any hook returns false
  before_hooks = Plugin.before_dequeue_hooks(klass).collect do |hook|
    klass.send(hook, *args)
  end
  return if before_hooks.any? { |result| result == false }
  destroyed = Job.destroy(queue, klass, *args)
  Plugin.after_dequeue_hooks(klass).each do |hook|
    klass.send(hook, *args)
  end
  destroyed
end