resque_mail_queue 0.3.0 → 0.4.0
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.
- data/Gemfile.lock +1 -1
- data/lib/resque_mail_queue.rb +10 -9
- data/spec/resque_mail_queue_spec.rb +5 -0
- metadata +8 -8
data/Gemfile.lock
CHANGED
data/lib/resque_mail_queue.rb
CHANGED
@@ -17,29 +17,30 @@ module Resque
|
|
17
17
|
mailer.send(method, *options['args']).deliver
|
18
18
|
end
|
19
19
|
|
20
|
-
def enqueue
|
21
|
-
|
20
|
+
def enqueue(options = {})
|
21
|
+
enqueue_to(nil, options)
|
22
22
|
end
|
23
23
|
|
24
|
-
def enqueue_to(queue)
|
25
|
-
EnqueueProxy.new(self, queue)
|
24
|
+
def enqueue_to(queue, options = {})
|
25
|
+
EnqueueProxy.new(self, queue, options)
|
26
26
|
end
|
27
27
|
|
28
28
|
class EnqueueProxy
|
29
29
|
|
30
|
-
def initialize(klass, queue =
|
30
|
+
def initialize(klass, queue, options = {})
|
31
31
|
@klass = klass
|
32
32
|
@queue = queue
|
33
|
+
@options = options
|
33
34
|
end
|
34
35
|
|
35
36
|
def method_missing(method, *args, &block)
|
36
37
|
if @klass.respond_to? method
|
37
|
-
options
|
38
|
+
@options.merge!({'klass' => @klass.to_s, 'method' => method, 'args' => args})
|
38
39
|
|
39
40
|
if @queue
|
40
|
-
Resque.enqueue_to(@queue, @klass, options)
|
41
|
+
Resque.enqueue_to(@queue, @klass, @options)
|
41
42
|
else
|
42
|
-
Resque.enqueue(@klass, options)
|
43
|
+
Resque.enqueue(@klass, @options)
|
43
44
|
end
|
44
45
|
else
|
45
46
|
super
|
@@ -48,7 +49,7 @@ module Resque
|
|
48
49
|
|
49
50
|
end
|
50
51
|
|
51
|
-
VERSION = '0.
|
52
|
+
VERSION = '0.4.0'
|
52
53
|
end
|
53
54
|
end
|
54
55
|
|
@@ -26,6 +26,11 @@ describe Resque::MailQueue do
|
|
26
26
|
DumbMailer.should have_queued('klass' => 'DumbMailer', 'method' => :send_mail, 'args' => [3]).in(:mail)
|
27
27
|
end
|
28
28
|
|
29
|
+
it 'should pass on any job arguments' do
|
30
|
+
DumbMailer.enqueue(:test => 'test argument').send_mail(3)
|
31
|
+
DumbMailer.should have_queued('klass' => 'DumbMailer', 'method'=> :send_mail, 'args' => [3], :test => 'test argument')
|
32
|
+
end
|
33
|
+
|
29
34
|
it 'should be able to override the queue from the mailer class (not default)' do
|
30
35
|
DumbMailer2.enqueue.send_mail(3)
|
31
36
|
DumbMailer2.should have_queued('klass' => 'DumbMailer2', 'method'=> :send_mail, 'args' => [3]).in(:not_default)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque_mail_queue
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionmailer
|
16
|
-
requirement: &
|
16
|
+
requirement: &70236497893160 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70236497893160
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: resque
|
27
|
-
requirement: &
|
27
|
+
requirement: &70236497977480 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.1.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70236497977480
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: resque_spec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70236497988400 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70236497988400
|
47
47
|
description: Simple asynchronous emails with Resque
|
48
48
|
email:
|
49
49
|
- scottwater@gmail.com
|