resque_mailer 2.2.3 → 2.2.4
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/CHANGELOG.md +6 -0
- data/README.md +20 -21
- data/lib/resque_mailer.rb +13 -2
- data/lib/resque_mailer/version.rb +1 -1
- metadata +7 -7
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
### EDGE / 2013-05-06
|
2
|
+
* Compatibility for Rails 4 pre-release (Ben Woosley)
|
3
|
+
* Fallback to synchronous is default when connection to Redis fails
|
4
|
+
* Avoid lazy evaluation of mail when excluded, for use with mail_view
|
5
|
+
(gingerlime)
|
6
|
+
|
1
7
|
### 2.2.3 / 2013-02-27
|
2
8
|
* MessageDecoy should handle non rails current_env (Hunter Haydel)
|
3
9
|
|
data/README.md
CHANGED
@@ -7,6 +7,17 @@ for your background jobs.
|
|
7
7
|
Note that recent (2.0+) versions of Resque::Mailer only work with Rails 3.x.
|
8
8
|
For a version compatible with Rails 2, specify v1.x in your Gemfile.
|
9
9
|
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
Install the gem:
|
13
|
+
|
14
|
+
gem install resque_mailer
|
15
|
+
|
16
|
+
If you're using Bundler to manage your dependencies, you should add it to your Gemfile:
|
17
|
+
|
18
|
+
gem 'resque' # or a compatible alternative / fork
|
19
|
+
gem 'resque_mailer'
|
20
|
+
|
10
21
|
## Usage
|
11
22
|
|
12
23
|
Include Resque::Mailer in your ActionMailer subclass(es) like this:
|
@@ -54,20 +65,7 @@ Resque::Mailer.error_handler = lambda { |mailer, message, error|
|
|
54
65
|
}
|
55
66
|
```
|
56
67
|
|
57
|
-
###
|
58
|
-
|
59
|
-
If [resque-scheduler](https://github.com/bvandenbos/resque-scheduler) is
|
60
|
-
installed, two extra methods will be available: `deliver_at` and `deliver_in`.
|
61
|
-
These will enqueue mail for delivery at a specified time in the future.
|
62
|
-
|
63
|
-
# Delivers on the 25th of December, 2013
|
64
|
-
MyMailer.reminder_email(params).deliver_at(Time.parse('2013-12-25'))
|
65
|
-
|
66
|
-
# Delivers in 7 days
|
67
|
-
MyMailer.reminder_email(params).deliver_in(7.days)
|
68
|
-
|
69
|
-
|
70
|
-
## Resque::Mailer as a Project Default
|
68
|
+
### Resque::Mailer as a Project Default
|
71
69
|
|
72
70
|
If you have a variety of mailers in your application and want all of them to use
|
73
71
|
Resque::Mailer by default, you can subclass ActionMailer::Base and have your
|
@@ -85,16 +83,17 @@ other mailers inherit from an AsyncMailer:
|
|
85
83
|
end
|
86
84
|
end
|
87
85
|
|
88
|
-
|
89
|
-
|
90
|
-
Install the gem:
|
86
|
+
### Using with Resque Scheduler
|
91
87
|
|
92
|
-
|
88
|
+
If [resque-scheduler](https://github.com/bvandenbos/resque-scheduler) is
|
89
|
+
installed, two extra methods will be available: `deliver_at` and `deliver_in`.
|
90
|
+
These will enqueue mail for delivery at a specified time in the future.
|
93
91
|
|
94
|
-
|
92
|
+
# Delivers on the 25th of December, 2013
|
93
|
+
MyMailer.reminder_email(params).deliver_at(Time.parse('2013-12-25'))
|
95
94
|
|
96
|
-
|
97
|
-
|
95
|
+
# Delivers in 7 days
|
96
|
+
MyMailer.reminder_email(params).deliver_in(7.days)
|
98
97
|
|
99
98
|
## Testing
|
100
99
|
|
data/lib/resque_mailer.rb
CHANGED
@@ -3,7 +3,7 @@ require 'resque_mailer/version'
|
|
3
3
|
module Resque
|
4
4
|
module Mailer
|
5
5
|
class << self
|
6
|
-
attr_accessor :default_queue_name, :default_queue_target, :current_env, :logger, :
|
6
|
+
attr_accessor :default_queue_name, :default_queue_target, :current_env, :logger, :error_handler
|
7
7
|
attr_reader :excluded_environments
|
8
8
|
|
9
9
|
def excluded_environments=(envs)
|
@@ -13,9 +13,14 @@ module Resque
|
|
13
13
|
def included(base)
|
14
14
|
base.extend(ClassMethods)
|
15
15
|
end
|
16
|
+
|
17
|
+
# Deprecated
|
18
|
+
def fallback_to_synchronous=(val)
|
19
|
+
warn "WARNING: fallback_to_synchronous option is deprecated and will be removed in the next release"
|
20
|
+
end
|
16
21
|
end
|
17
22
|
|
18
|
-
self.logger
|
23
|
+
self.logger ||= (defined?(Rails) ? Rails.logger : nil)
|
19
24
|
self.default_queue_target = ::Resque
|
20
25
|
self.default_queue_name = "mailer"
|
21
26
|
self.excluded_environments = [:test]
|
@@ -84,6 +89,7 @@ module Resque
|
|
84
89
|
@mailer_class = mailer_class
|
85
90
|
@method_name = method_name
|
86
91
|
*@args = *args
|
92
|
+
actual_message if environment_excluded?
|
87
93
|
end
|
88
94
|
|
89
95
|
def resque
|
@@ -117,6 +123,7 @@ module Resque
|
|
117
123
|
begin
|
118
124
|
resque.enqueue(@mailer_class, @method_name, *@args)
|
119
125
|
rescue Errno::ECONNREFUSED
|
126
|
+
logger.error "Unable to connect to Redis; falling back to synchronous mail delivery" if logger
|
120
127
|
deliver!
|
121
128
|
end
|
122
129
|
end
|
@@ -153,6 +160,10 @@ module Resque
|
|
153
160
|
def method_missing(method_name, *args)
|
154
161
|
actual_message.send(method_name, *args)
|
155
162
|
end
|
163
|
+
|
164
|
+
def logger
|
165
|
+
@mailer_class.logger
|
166
|
+
end
|
156
167
|
end
|
157
168
|
end
|
158
169
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque_mailer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,14 +9,14 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionmailer
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
@@ -24,7 +24,7 @@ dependencies:
|
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '3.0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
@@ -88,7 +88,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
88
|
version: '0'
|
89
89
|
segments:
|
90
90
|
- 0
|
91
|
-
hash:
|
91
|
+
hash: 937321504006937956
|
92
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
93
|
none: false
|
94
94
|
requirements:
|
@@ -97,10 +97,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
97
|
version: '0'
|
98
98
|
segments:
|
99
99
|
- 0
|
100
|
-
hash:
|
100
|
+
hash: 937321504006937956
|
101
101
|
requirements: []
|
102
102
|
rubyforge_project:
|
103
|
-
rubygems_version: 1.8.
|
103
|
+
rubygems_version: 1.8.24
|
104
104
|
signing_key:
|
105
105
|
specification_version: 3
|
106
106
|
summary: Rails plugin for sending asynchronous email with ActionMailer and Resque.
|