delayed_job_extras 0.9.10 → 0.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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