Class: Backgrounded::Handler::ResqueHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/backgrounded/handler/resque_handler.rb

Overview

enque requests in resque

Constant Summary collapse

DEFAULT_QUEUE =
'backgrounded'
@@queue =
DEFAULT_QUEUE

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.perform(clazz, id, method, *args) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/backgrounded/handler/resque_handler.rb', line 21

def self.perform(clazz, id, method, *args)
  clazz = clazz.constantize
  if clazz.backgrounded_options[method.to_sym][:class_method]
    clazz.send(method, *args)
  else
    clazz.find(id).send(method, *args)
  end
end

.queueObject



18
19
20
# File 'lib/backgrounded/handler/resque_handler.rb', line 18

def self.queue
  @@queue
end

Instance Method Details

#request(object, method, *args) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/backgrounded/handler/resque_handler.rb', line 10

def request(object, method, *args)
  @@queue = object.backgrounded_options[method.to_sym][:queue] || DEFAULT_QUEUE
  if object.is_a? Class
    Resque.enqueue(ResqueHandler, object.name, 0, method, *args)
  else
    Resque.enqueue(ResqueHandler, object.class.name, object.id, method, *args)
  end
end