delayed_job_extras 0.9.10 → 0.9.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,7 +16,8 @@ if defined?(ActionMailer)
16
16
  end
17
17
 
18
18
  def perform
19
- ::#{klass}.send(self.called_method, *self.args)
19
+ # ::#{klass}.send(self.called_method, *self.args)
20
+ ::#{klass}.send(:new, self.called_method, *self.args).deliver!
20
21
  end
21
22
 
22
23
  class << self
@@ -31,6 +32,22 @@ if defined?(ActionMailer)
31
32
  }
32
33
  end
33
34
 
35
+ class << self
36
+
37
+ def method_missing(method_symbol, *parameters) #:nodoc:
38
+ if match = matches_dynamic_method?(method_symbol)
39
+ case match[1]
40
+ when 'deliver'# then new(match[2], *parameters).deliver!
41
+ "#{self.name}Worker".constantize.enqueue(match[2], *parameters)
42
+ else super
43
+ end
44
+ else
45
+ super
46
+ end
47
+ end
48
+
49
+ end
50
+
34
51
  end # Base
35
52
  end # ActionMailer
36
53
  end
@@ -1,6 +1,29 @@
1
1
  module Delayed
2
2
  class Job < ActiveRecord::Base
3
3
 
4
+ def reset!
5
+ self.run_at = Time.now
6
+ self.attempts = 0
7
+ self.last_error = nil
8
+ self.save!
9
+ self.reload
10
+ end
11
+
12
+ def deserialize_with_extras(source)
13
+ begin
14
+ self['handler'].scan(/- .+ !ruby\/object:(.+)/).flatten.each do |x|
15
+ x.strip!
16
+ # puts "x: '#{x}'"
17
+ x.to_s.constantize
18
+ end
19
+ rescue Exception => e
20
+ logger.error "Failed pre-deserialization: #{e.message}"
21
+ end
22
+ deserialize_without_extras(source)
23
+ end
24
+
25
+ alias_method_chain :deserialize, :extras
26
+
4
27
  def invoke_job_with_extras
5
28
  begin
6
29
  self.payload_object.dj_object = self
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_extras
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.10
4
+ version: 0.9.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - markbates
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-08 00:00:00 -05:00
12
+ date: 2009-12-09 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency