mandrill_mailer 1.0.0 → 1.0.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +5 -5
- data/lib/mandrill_mailer/arg_formatter.rb +2 -6
- data/lib/mandrill_mailer/core_mailer.rb +1 -1
- data/lib/mandrill_mailer/version.rb +1 -1
- data/spec/arg_formatter_spec.rb +4 -4
- data/spec/core_mailer_spec.rb +22 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f3255d5096df33a1fcdbf3d562ff8f3a2cab3fc
|
4
|
+
data.tar.gz: 1e4a6d539dc09befe73bdc2054b4c5bfd5210663
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b6c81956a7d72dfd202fd35aa46db470467fd783c2ac48485e3ed630aa735e786925a8d758a67c1b8f41e5beaa15a4a60695b773db228c37e8776d71d3021e4
|
7
|
+
data.tar.gz: d47ec51ea5daa756a8d67c8659c0fdb120797a517df0362aa54d8ae31e07277e8240413456381170c654fc7a33ca27434a89cc723b8d98d6826859cedfc79a7c
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## 1.0.1
|
6
|
+
- Correct regression caused in 1.0.0 that broke defaults in mailers - Credit: @etipton
|
7
|
+
|
5
8
|
## 1.0.0
|
6
9
|
- Update manrill_api gem to 1.0.X
|
7
10
|
- Change how interceptors work to be more flexible and not overwrite data if needed
|
data/README.md
CHANGED
@@ -341,11 +341,11 @@ MandrillMailer.configure do |config|
|
|
341
341
|
config.interceptor = Proc.new {|params|
|
342
342
|
|
343
343
|
params[:to] = [
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
344
|
+
params[:to],
|
345
|
+
{ email: "bccEmailThatWillBeUsedInAll@emailsSent1.com", name: "name", type: "bcc" },
|
346
|
+
{ email: "bccEmailThatWillBeUsedInAll@emailsSent2.com", name: "name", type: "bcc" },
|
347
|
+
{ email: "bccEmailThatWillBeUsedInAll@emailsSent3.com", name: "name", type: "bcc" }
|
348
|
+
].flatten
|
349
349
|
}
|
350
350
|
end
|
351
351
|
```
|
@@ -69,7 +69,7 @@ module MandrillMailer
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
-
def self.format_messages_api_message_data(args)
|
72
|
+
def self.format_messages_api_message_data(args, defaults)
|
73
73
|
# If a merge_language attribute is given and it's not one of the accepted
|
74
74
|
# languages Raise an error
|
75
75
|
if args[:merge_language] && !ACCEPTED_MERGE_LANGUAGES.include?(args[:merge_language])
|
@@ -111,9 +111,5 @@ module MandrillMailer
|
|
111
111
|
"images" => images_args(args[:images])
|
112
112
|
}
|
113
113
|
end
|
114
|
-
|
115
|
-
def self.defaults
|
116
|
-
MandrillMailer::CoreMailer.defaults
|
117
|
-
end
|
118
114
|
end
|
119
|
-
end
|
115
|
+
end
|
@@ -242,7 +242,7 @@ module MandrillMailer
|
|
242
242
|
mandrill_mail_handler(args)
|
243
243
|
|
244
244
|
# Construct message hash
|
245
|
-
self.message = MandrillMailer::ArgFormatter.format_messages_api_message_data(args)
|
245
|
+
self.message = MandrillMailer::ArgFormatter.format_messages_api_message_data(args, self.class.defaults)
|
246
246
|
|
247
247
|
# Apply any interceptors that may be present
|
248
248
|
apply_interceptors!(self.message)
|
data/spec/arg_formatter_spec.rb
CHANGED
@@ -197,7 +197,7 @@ describe MandrillMailer::ArgFormatter do
|
|
197
197
|
|
198
198
|
describe ".format_messages_api_message_data" do
|
199
199
|
it "includes all api values" do
|
200
|
-
result = formatter.format_messages_api_message_data({})
|
200
|
+
result = formatter.format_messages_api_message_data({}, {})
|
201
201
|
api_values = ["html", "text", "subject", "from_email", "from_name", "to",
|
202
202
|
"headers", "important", "track_opens", "track_clicks", "auto_text",
|
203
203
|
"auto_html", "inline_css", "url_strip_qs", "preserve_recipients",
|
@@ -216,20 +216,20 @@ describe MandrillMailer::ArgFormatter do
|
|
216
216
|
context "merge_language exists" do
|
217
217
|
context "merge_language is an accepted merge language" do
|
218
218
|
it "does not raise an error" do
|
219
|
-
expect { formatter.format_messages_api_message_data({merge_language: "handlebars"}) }.not_to raise_error
|
219
|
+
expect { formatter.format_messages_api_message_data({merge_language: "handlebars"}, {}) }.not_to raise_error
|
220
220
|
end
|
221
221
|
end
|
222
222
|
|
223
223
|
context "merge_language is not an accepted merge language" do
|
224
224
|
it "raises an error" do
|
225
|
-
expect { formatter.format_messages_api_message_data({merge_language: "not_valid"}) }.to raise_error(MandrillMailer::CoreMailer::InvalidMergeLanguageError)
|
225
|
+
expect { formatter.format_messages_api_message_data({merge_language: "not_valid"}, {}) }.to raise_error(MandrillMailer::CoreMailer::InvalidMergeLanguageError)
|
226
226
|
end
|
227
227
|
end
|
228
228
|
end
|
229
229
|
|
230
230
|
context "merge_language does not exist" do
|
231
231
|
it "does not raise an error" do
|
232
|
-
expect { formatter.format_messages_api_message_data({}) }.not_to raise_error
|
232
|
+
expect { formatter.format_messages_api_message_data({}, {}) }.not_to raise_error
|
233
233
|
end
|
234
234
|
end
|
235
235
|
end
|
data/spec/core_mailer_spec.rb
CHANGED
@@ -95,6 +95,28 @@ describe MandrillMailer::CoreMailer do
|
|
95
95
|
mailer.mandrill_mail(args)
|
96
96
|
end
|
97
97
|
|
98
|
+
it "applies defaults" do
|
99
|
+
default_from = "default name"
|
100
|
+
default_from_email = "default@email.com"
|
101
|
+
|
102
|
+
unique_mailer = Class.new(core_mailer) do
|
103
|
+
default from_name: default_from,
|
104
|
+
from: default_from_email
|
105
|
+
end
|
106
|
+
|
107
|
+
# Create a second mailer to make sure we don't get class var pollution
|
108
|
+
control_mailer = Class.new(core_mailer) do
|
109
|
+
default from_name: "None",
|
110
|
+
from: "invalid@email.com"
|
111
|
+
end
|
112
|
+
|
113
|
+
new_unique_mailer = unique_mailer.new
|
114
|
+
new_unique_mailer.mandrill_mail({})
|
115
|
+
|
116
|
+
expect(new_unique_mailer.message['from_name']).to eq default_from
|
117
|
+
expect(new_unique_mailer.message['from_email']).to eq default_from_email
|
118
|
+
end
|
119
|
+
|
98
120
|
describe "vars attribute" do
|
99
121
|
it "returns the vars" do
|
100
122
|
mailer.mandrill_mail(args)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mandrill_mailer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Rensel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|