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.
@@ -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