resque_mail_queue 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- resque_mail_queue (0.2.0)
4
+ resque_mail_queue (0.3.0)
5
5
  actionmailer (>= 3.1)
6
6
  resque (>= 1.1.0)
7
7
 
@@ -17,29 +17,30 @@ module Resque
17
17
  mailer.send(method, *options['args']).deliver
18
18
  end
19
19
 
20
- def enqueue
21
- EnqueueProxy.new(self)
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 = nil)
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 = {'klass' => @klass.to_s, 'method' => method, 'args' => args}
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.3.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.3.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-04 00:00:00.000000000 Z
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: &70213812346660 !ruby/object:Gem::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: *70213812346660
24
+ version_requirements: *70236497893160
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: resque
27
- requirement: &70213812346160 !ruby/object:Gem::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: *70213812346160
35
+ version_requirements: *70236497977480
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: resque_spec
38
- requirement: &70213812345780 !ruby/object:Gem::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: *70213812345780
46
+ version_requirements: *70236497988400
47
47
  description: Simple asynchronous emails with Resque
48
48
  email:
49
49
  - scottwater@gmail.com