Module: ResqueScheduler::Plugin

Extended by:
Plugin
Included in:
Plugin
Defined in:
lib/resque_scheduler/plugin.rb

Instance Method Summary collapse

Instance Method Details

#hooks(job, pattern) ⇒ Object



4
5
6
# File 'lib/resque_scheduler/plugin.rb', line 4

def hooks(job, pattern)
  job.methods.grep(/^#{pattern}/).sort
end

#run_after_schedule_hooks(klass, *args) ⇒ Object



24
25
26
# File 'lib/resque_scheduler/plugin.rb', line 24

def run_after_schedule_hooks(klass, *args)
  run_hooks(klass, 'after_schedule', *args)
end

#run_before_delayed_enqueue_hooks(klass, *args) ⇒ Object



16
17
18
# File 'lib/resque_scheduler/plugin.rb', line 16

def run_before_delayed_enqueue_hooks(klass, *args)
  run_hooks(klass, 'before_delayed_enqueue', *args)
end

#run_before_schedule_hooks(klass, *args) ⇒ Object



20
21
22
# File 'lib/resque_scheduler/plugin.rb', line 20

def run_before_schedule_hooks(klass, *args)
  run_hooks(klass, 'before_schedule', *args)
end

#run_hooks(job, pattern, *args) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/resque_scheduler/plugin.rb', line 8

def run_hooks(job, pattern, *args)
  results = hooks(job, pattern).collect do |hook|
    job.send(hook, *args)
  end

  results.all? { |result| result != false }
end