griddler-mandrill 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -1
- data/lib/griddler/mandrill/adapter.rb +12 -2
- data/lib/griddler/mandrill/version.rb +1 -1
- data/spec/griddler/mandrill/adapter_spec.rb +24 -3
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86dc4de8f452cac033829217d59a4c6bc9f773b9
|
4
|
+
data.tar.gz: dce4fb18f34941f751aba6f71a6de09088cdfa83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b6f95562127f589899a0074386cde554ca8ab3357698504fa633106a25bde17f7eb4743c9011a0ff92f5166fc4f78133b3dfeea6d4cf0218ec5348f6ddd8757
|
7
|
+
data.tar.gz: a42ada7733a4480f76f56cc3144632428d937ffdbb53558a0d3e5cdf02a4758166b5756a691bbe600bd9b10ccc829a74d7f1da6f3242012de73e9d0d429546da
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,13 @@
|
|
1
|
-
##
|
1
|
+
## master
|
2
|
+
|
3
|
+
## 1.1.2
|
4
|
+
* Use Mandrill's `email` attribute to populate bcc if to and cc don't contain it. #19 and #20 via [Uelb](https://github.com/Uelb)
|
5
|
+
|
6
|
+
## 1.1.1
|
7
|
+
* Pin minimum Griddler version to >= 1.2.1 to resolve #18
|
8
|
+
|
9
|
+
## 1.1.0
|
10
|
+
* Allow email headers to be accessed. #12, #13, #14, and #17
|
2
11
|
* Replace `nil` for email text/html values with empty strings. #10 via [calleerlandsson](https://github.com/calleerlandsson)
|
3
12
|
|
4
13
|
## 1.0.2
|
@@ -15,14 +15,15 @@ module Griddler
|
|
15
15
|
{
|
16
16
|
to: recipients(:to, event),
|
17
17
|
cc: recipients(:cc, event),
|
18
|
-
bcc:
|
18
|
+
bcc: resolve_bcc(event),
|
19
19
|
headers: event[:headers],
|
20
20
|
from: full_email([ event[:from_email], event[:from_name] ]),
|
21
21
|
subject: event[:subject],
|
22
22
|
text: event[:text] || '',
|
23
23
|
html: event[:html] || '',
|
24
24
|
raw_body: event[:raw_msg],
|
25
|
-
attachments: attachment_files(event)
|
25
|
+
attachments: attachment_files(event),
|
26
|
+
email: event[:email] # the email address where Mandrill received the message
|
26
27
|
}
|
27
28
|
end
|
28
29
|
end
|
@@ -41,6 +42,15 @@ module Griddler
|
|
41
42
|
Array.wrap(event[field]).map { |recipient| full_email(recipient) }
|
42
43
|
end
|
43
44
|
|
45
|
+
def resolve_bcc(event)
|
46
|
+
email = event[:email]
|
47
|
+
if !event[:to].map(&:first).include?(email) && event[:cc] && !event[:cc].map(&:first).include?(email)
|
48
|
+
[full_email([email, email.split("@")[0]])]
|
49
|
+
else
|
50
|
+
[]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
44
54
|
def full_email(contact_info)
|
45
55
|
email = contact_info[0]
|
46
56
|
if contact_info[1]
|
@@ -149,6 +149,27 @@ describe Griddler::Mandrill::Adapter, '.normalize_params' do
|
|
149
149
|
end
|
150
150
|
end
|
151
151
|
|
152
|
+
describe 'when there the reception email is not in the TO nor the CCrecipients' do
|
153
|
+
before do
|
154
|
+
@params = params_hash
|
155
|
+
@params.first[:msg][:email] = "hidden@example.com"
|
156
|
+
end
|
157
|
+
it 'passes the email as a bcc recipient' do
|
158
|
+
params = default_params(@params)
|
159
|
+
normalized_params = Griddler::Mandrill::Adapter.normalize_params(params)
|
160
|
+
normalized_params.each do |p|
|
161
|
+
expect(p[:bcc]).to eq ['hidden <hidden@example.com>']
|
162
|
+
end
|
163
|
+
end
|
164
|
+
it 'passes the email in the email param' do
|
165
|
+
params = default_params(@params)
|
166
|
+
normalized_params = Griddler::Mandrill::Adapter.normalize_params(params)
|
167
|
+
normalized_params.each do |p|
|
168
|
+
expect(p[:email]).to eq 'hidden@example.com'
|
169
|
+
end
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
152
173
|
def default_params(params = params_hash)
|
153
174
|
mandrill_events (params * 2).to_json
|
154
175
|
end
|
@@ -197,7 +218,6 @@ describe Griddler::Mandrill::Adapter, '.normalize_params' do
|
|
197
218
|
to: [['token@reply.example.com', 'The Token']],
|
198
219
|
cc: [['emily@example.mandrillapp.com', 'Emily'],
|
199
220
|
['joey@example.mandrillapp.com', 'Joey']],
|
200
|
-
bcc: [['hidden@example.mandrillapp.com', 'Roger']],
|
201
221
|
subject: "hello",
|
202
222
|
spam_report: {
|
203
223
|
score: -0.8,
|
@@ -217,7 +237,7 @@ describe Griddler::Mandrill::Adapter, '.normalize_params' do
|
|
217
237
|
to: ['The Token <token@reply.example.com>'],
|
218
238
|
cc: ['Emily <emily@example.mandrillapp.com>',
|
219
239
|
'Joey <joey@example.mandrillapp.com>'],
|
220
|
-
bcc: [
|
240
|
+
bcc: [],
|
221
241
|
from: 'Hernan Example <hernan@example.com>',
|
222
242
|
headers: {"X-Mailer" => "Airmail (271)",
|
223
243
|
"Mime-Version" => "1.0",
|
@@ -225,7 +245,8 @@ describe Griddler::Mandrill::Adapter, '.normalize_params' do
|
|
225
245
|
subject: 'hello',
|
226
246
|
text: %r{Dear bob},
|
227
247
|
html: %r{<p>Dear bob</p>},
|
228
|
-
raw_body: %r{raw}
|
248
|
+
raw_body: %r{raw},
|
249
|
+
email: "token@reply.example.com"
|
229
250
|
}
|
230
251
|
end
|
231
252
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: griddler-mandrill
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stafford Brunk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: griddler
|
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.4.
|
112
|
+
rubygems_version: 2.4.5
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: Mandrill adapter for Griddler
|