Class: DelayedMethod

Inherits:
Object
  • Object
show all
Defined in:
lib/delayed-method.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.debuggingObject

Returns the value of attribute debugging.



8
9
10
# File 'lib/delayed-method.rb', line 8

def debugging
  @debugging
end

Class Method Details

.enqueue(object, method, *args) ⇒ Object



19
20
21
22
23
# File 'lib/delayed-method.rb', line 19

def enqueue(object, method, *args)
  ensure_proper_call(object, method) do |klass, id|
    Resque.enqueue(self, klass, id, method, *args)
  end
end

.enqueue_at(time, object, method, *args) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/delayed-method.rb', line 32

def enqueue_at(time, object, method, *args)
  ensure_proper_call(object, method) do |klass, id|
    if Resque.respond_to?(:enqueue_at)
      Resque.enqueue_at(time, self, klass, id, method, *args)
    else
      raise "resque-scheduler need to be included for this to work"
    end
  end
end

.enqueue_to(queue, object, method, *args) ⇒ Object



25
26
27
28
29
# File 'lib/delayed-method.rb', line 25

def enqueue_to(queue, object, method, *args)
  ensure_proper_call(object, method) do |klass, id|
    Resque.enqueue_to(queue, self, klass, id, method, *args)
  end
end

.perform(klass_name, instance_id, method, *args) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/delayed-method.rb', line 10

def perform(klass_name, instance_id, method, *args)
  puts "<#{klass_name}##{instance_id}>##{method}#{args}" if debugging
  if instance_id
    Object.const_get(klass_name).find(instance_id).send(method, *args)
  else
    Object.const_get(klass_name).send(method, *args)
  end
end