govuk_notify_rails 2.1.2 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2bee5bf91a1c68af6ccf1952817eca1e2b5bbef952c24dad320aa133edaddf62
4
- data.tar.gz: fd15514c7fd2ba953d1513d75fe642e336233d434befcfbaaf1721cbf45195ee
3
+ metadata.gz: b7ae8e3403bc21d367702344fca21fdbccfb591089e9bfdaab0bef913345012e
4
+ data.tar.gz: 3f8ea35ea1389e0e420a73c9d698cb752b625254927a0e39b6114ab68ae6c820
5
5
  SHA512:
6
- metadata.gz: e2d8cc69c884f15e1c786ef6ef4c780df1cd0f43d118b75f64987c8854b2af4440547975cf26320118b77041ed9b100914bef48929ef52f660e5991796e1e60d
7
- data.tar.gz: 599acbc8839e5322526bca9f0232d64b6f5decfed34c62f7a65bcc11ef1a2aaa0df46c4dc320bc0727ddbaff2565100e3c14ceac233268c5cf94265723343b4e
6
+ metadata.gz: a3656b4fba827f8290881dbdd910152756c7b32c82809769244e20dcb84fbe2617464dadf78c897a6a1bf2fc59da778264ab1726210c1e0a759170a60ba94c7d
7
+ data.tar.gz: ea580374689d4755e68585a2e80dd135f92ae1ac9dba74404ae4b976b255b77c47aec514cd4909342176ae63e78e4480dcfe5253541ec2eb85fe515c02daaa49
@@ -7,10 +7,20 @@ module GovukNotifyRails
7
7
  end
8
8
 
9
9
  def deliver!(message)
10
- response = notify_client.send_email(
11
- payload_for(message)
12
- )
13
- message.govuk_notify_response = response
10
+ payload = payload_for(message)
11
+
12
+ responses = message.to.map do |to|
13
+ notify_client.send_email(
14
+ payload.merge(email_address: to)
15
+ )
16
+ end
17
+
18
+ message.govuk_notify_responses = responses
19
+
20
+ # For backwards compatibility
21
+ message.govuk_notify_response = responses.first
22
+
23
+ responses
14
24
  end
15
25
 
16
26
  private
@@ -21,11 +31,11 @@ module GovukNotifyRails
21
31
 
22
32
  def payload_for(message)
23
33
  {
24
- email_address: message.to.first,
25
34
  template_id: message.govuk_notify_template,
26
35
  reference: message.govuk_notify_reference,
27
36
  personalisation: message.govuk_notify_personalisation,
28
- email_reply_to_id: message.govuk_notify_email_reply_to
37
+ email_reply_to_id: message.govuk_notify_email_reply_to,
38
+ one_click_unsubscribe_url: message.govuk_notify_one_click_unsubscribe_url
29
39
  }.compact
30
40
  end
31
41
 
@@ -2,8 +2,12 @@ module Mail
2
2
  class Message
3
3
  attr_accessor :govuk_notify_template
4
4
  attr_accessor :govuk_notify_reference
5
+ attr_accessor :govuk_notify_email_reply_to
6
+ attr_accessor :govuk_notify_one_click_unsubscribe_url
7
+
5
8
  attr_accessor :govuk_notify_personalisation
9
+
6
10
  attr_accessor :govuk_notify_response
7
- attr_accessor :govuk_notify_email_reply_to
11
+ attr_accessor :govuk_notify_responses
8
12
  end
9
13
  end
@@ -6,6 +6,7 @@ module GovukNotifyRails
6
6
  attr_accessor :govuk_notify_reference
7
7
  attr_accessor :govuk_notify_personalisation
8
8
  attr_accessor :govuk_notify_email_reply_to
9
+ attr_accessor :govuk_notify_one_click_unsubscribe_url
9
10
 
10
11
  protected
11
12
 
@@ -19,6 +20,7 @@ module GovukNotifyRails
19
20
  message.govuk_notify_reference = govuk_notify_reference
20
21
  message.govuk_notify_personalisation = govuk_notify_personalisation
21
22
  message.govuk_notify_email_reply_to = govuk_notify_email_reply_to
23
+ message.govuk_notify_one_click_unsubscribe_url = govuk_notify_one_click_unsubscribe_url
22
24
  end
23
25
 
24
26
  def set_template(template)
@@ -37,6 +39,10 @@ module GovukNotifyRails
37
39
  self.govuk_notify_email_reply_to = address
38
40
  end
39
41
 
42
+ def set_one_click_unsubscribe_url(url)
43
+ self.govuk_notify_one_click_unsubscribe_url = url
44
+ end
45
+
40
46
  def _default_body
41
47
  'This is a GOV.UK Notify email with template %s and personalisation: %s' % [govuk_notify_template, govuk_notify_personalisation]
42
48
  end
@@ -1,3 +1,3 @@
1
1
  module GovukNotifyRails
2
- VERSION = '2.1.2'.freeze
2
+ VERSION = '3.0.0'.freeze
3
3
  end
@@ -2,6 +2,9 @@ class NotifyMailer < GovukNotifyRails::Mailer
2
2
  def test_email(user)
3
3
  set_template('9661d08a-486d-4c67-865e-ad976f17871d')
4
4
  set_reference('my_reference')
5
+ set_email_reply_to('527c131f-ef4b-4b5b-8f9b-3202581af277')
6
+ set_one_click_unsubscribe_url('https://example.com/unsubscribe?token=123456')
7
+
5
8
  set_personalisation(
6
9
  full_name: user.name
7
10
  )
@@ -181,3 +181,291 @@ NotifyMailer#test_email: processed outbound mail in 0.5ms
181
181
  NotifyMailer#test_email: processed outbound mail in 0.4ms
182
182
  NotifyMailer#test_email: processed outbound mail in 0.4ms
183
183
  NotifyMailer#test_email: processed outbound mail in 0.4ms
184
+ NotifyMailer#test_email: processed outbound mail in 4.8ms
185
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
186
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
187
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
188
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
189
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
190
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
191
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
192
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
193
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
194
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
195
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
196
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
197
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
198
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
199
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
200
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
201
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
202
+ NotifyMailer#test_email: processed outbound mail in 9.9ms
203
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
204
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
205
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
206
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
207
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
208
+ NotifyMailer#test_email: processed outbound mail in 9.1ms
209
+ NotifyMailer#test_email: processed outbound mail in 1.8ms
210
+ NotifyMailer#test_email: processed outbound mail in 1.5ms
211
+ NotifyMailer#test_email: processed outbound mail in 1.4ms
212
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
213
+ NotifyMailer#test_email: processed outbound mail in 1.3ms
214
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
215
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
216
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
217
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
218
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
219
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
220
+ NotifyMailer#test_email: processed outbound mail in 3.8ms
221
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
222
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
223
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
224
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
225
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
226
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
227
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
228
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
229
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
230
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
231
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
232
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
233
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
234
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
235
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
236
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
237
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
238
+ NotifyMailer#test_email: processed outbound mail in 10.9ms
239
+ NotifyMailer#test_email: processed outbound mail in 1.8ms
240
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
241
+ NotifyMailer#test_email: processed outbound mail in 0.9ms
242
+ NotifyMailer#test_email: processed outbound mail in 1.0ms
243
+ NotifyMailer#test_email: processed outbound mail in 1.2ms
244
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
245
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
246
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
247
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
248
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
249
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
250
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
251
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
252
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
253
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
254
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
255
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
256
+ NotifyMailer#test_email: processed outbound mail in 3.9ms
257
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
258
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
259
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
260
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
261
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
262
+ NotifyMailer#test_email: processed outbound mail in 3.7ms
263
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
264
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
265
+ NotifyMailer#test_email: processed outbound mail in 0.9ms
266
+ NotifyMailer#test_email: processed outbound mail in 0.7ms
267
+ NotifyMailer#test_email: processed outbound mail in 0.8ms
268
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
269
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
270
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
271
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
272
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
273
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
274
+ NotifyMailer#test_email: processed outbound mail in 9.4ms
275
+ NotifyMailer#test_email: processed outbound mail in 1.6ms
276
+ NotifyMailer#test_email: processed outbound mail in 1.3ms
277
+ NotifyMailer#test_email: processed outbound mail in 1.2ms
278
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
279
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
280
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
281
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
282
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
283
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
284
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
285
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
286
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
287
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
288
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
289
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
290
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
291
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
292
+ NotifyMailer#test_email: processed outbound mail in 3.9ms
293
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
294
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
295
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
296
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
297
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
298
+ NotifyMailer#test_email: processed outbound mail in 3.4ms
299
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
300
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
301
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
302
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
303
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
304
+ NotifyMailer#test_email: processed outbound mail in 3.3ms
305
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
306
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
307
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
308
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
309
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
310
+ NotifyMailer#test_email: processed outbound mail in 3.7ms
311
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
312
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
313
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
314
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
315
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
316
+ NotifyMailer#test_email: processed outbound mail in 10.0ms
317
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
318
+ NotifyMailer#test_email: processed outbound mail in 1.2ms
319
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
320
+ NotifyMailer#test_email: processed outbound mail in 1.1ms
321
+ NotifyMailer#test_email: processed outbound mail in 1.1ms
322
+ NotifyMailer#test_email: processed outbound mail in 8.3ms
323
+ NotifyMailer#test_email: processed outbound mail in 1.3ms
324
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
325
+ NotifyMailer#test_email: processed outbound mail in 1.2ms
326
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
327
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
328
+ NotifyMailer#test_email: processed outbound mail in 5.5ms
329
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
330
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
331
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
332
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
333
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
334
+ NotifyMailer#test_email: processed outbound mail in 3.2ms
335
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
336
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
337
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
338
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
339
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
340
+ NotifyMailer#test_email: processed outbound mail in 3.4ms
341
+ NotifyMailer#test_email: processed outbound mail in 8.4ms
342
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
343
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
344
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
345
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
346
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
347
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
348
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
349
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
350
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
351
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
352
+ NotifyMailer#test_email: processed outbound mail in 4.1ms
353
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
354
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
355
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
356
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
357
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
358
+ NotifyMailer#test_email: processed outbound mail in 3.3ms
359
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
360
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
361
+ NotifyMailer#test_email: processed outbound mail in 1.1ms
362
+ NotifyMailer#test_email: processed outbound mail in 0.9ms
363
+ NotifyMailer#test_email: processed outbound mail in 0.7ms
364
+ NotifyMailer#test_email: processed outbound mail in 3.5ms
365
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
366
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
367
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
368
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
369
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
370
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
371
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
372
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
373
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
374
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
375
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
376
+ NotifyMailer#test_email: processed outbound mail in 3.6ms
377
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
378
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
379
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
380
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
381
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
382
+ NotifyMailer#test_email: processed outbound mail in 24.5ms
383
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
384
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
385
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
386
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
387
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
388
+ NotifyMailer#test_email: processed outbound mail in 26.1ms
389
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
390
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
391
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
392
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
393
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
394
+ NotifyMailer#test_email: processed outbound mail in 26.2ms
395
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
396
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
397
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
398
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
399
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
400
+ NotifyMailer#test_email: processed outbound mail in 30.0ms
401
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
402
+ NotifyMailer#test_email: processed outbound mail in 5.5ms
403
+ NotifyMailer#test_email: processed outbound mail in 0.7ms
404
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
405
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
406
+ NotifyMailer#test_email: processed outbound mail in 0.8ms
407
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
408
+ NotifyMailer#test_email: processed outbound mail in 28.0ms
409
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
410
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
411
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
412
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
413
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
414
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
415
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
416
+ NotifyMailer#test_email: processed outbound mail in 18.1ms
417
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
418
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
419
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
420
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
421
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
422
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
423
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
424
+ NotifyMailer#test_email: processed outbound mail in 17.5ms
425
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
426
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
427
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
428
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
429
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
430
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
431
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
432
+ NotifyMailer#test_email: processed outbound mail in 23.8ms
433
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
434
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
435
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
436
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
437
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
438
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
439
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
440
+ NotifyMailer#test_email: processed outbound mail in 26.0ms
441
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
442
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
443
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
444
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
445
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
446
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
447
+ NotifyMailer#test_email: processed outbound mail in 0.3ms
448
+ NotifyMailer#test_email: processed outbound mail in 32.4ms
449
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
450
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
451
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
452
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
453
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
454
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
455
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
456
+ NotifyMailer#test_email: processed outbound mail in 36.9ms
457
+ NotifyMailer#test_email: processed outbound mail in 1.4ms
458
+ NotifyMailer#test_email: processed outbound mail in 0.8ms
459
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
460
+ NotifyMailer#test_email: processed outbound mail in 1.0ms
461
+ NotifyMailer#test_email: processed outbound mail in 0.7ms
462
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
463
+ NotifyMailer#test_email: processed outbound mail in 0.6ms
464
+ NotifyMailer#test_email: processed outbound mail in 24.2ms
465
+ NotifyMailer#test_email: processed outbound mail in 0.5ms
466
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
467
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
468
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
469
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
470
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
471
+ NotifyMailer#test_email: processed outbound mail in 0.4ms
@@ -5,19 +5,23 @@ describe GovukNotifyRails::Delivery do
5
5
  describe '#deliver!' do
6
6
  let(:api_key) { 'api-key' }
7
7
  let(:notify_client) { double('NotifyClient') }
8
- let(:reply_to) { "email_reply_to_reference" }
8
+ let(:to) { ['email@example.com'] }
9
9
 
10
- let(:personalisation) { { name: 'John' } }
11
10
  let(:reference) { 'my_reference' }
11
+ let(:reply_to) { 'email_reply_to_uuid' }
12
+ let(:unsubscribe_url) { 'https://example.com/unsubscribe?token=123456' }
13
+
14
+ let(:personalisation) { { name: 'John' } }
12
15
 
13
16
  let(:message) do
14
17
  instance_double(
15
18
  Mail::Message,
16
- to: ['email@example.com'],
19
+ to: to,
17
20
  govuk_notify_template: 'template-123',
18
21
  govuk_notify_reference: reference,
19
- govuk_notify_personalisation: personalisation,
20
- govuk_notify_email_reply_to: reply_to
22
+ govuk_notify_email_reply_to: reply_to,
23
+ govuk_notify_one_click_unsubscribe_url: unsubscribe_url,
24
+ govuk_notify_personalisation: personalisation
21
25
  )
22
26
  end
23
27
 
@@ -26,6 +30,7 @@ describe GovukNotifyRails::Delivery do
26
30
  before(:each) do
27
31
  allow(notify_client).to receive(:new).with(api_key).and_return(notify_client)
28
32
  allow(subject).to receive(:notify_client).and_return(notify_client)
33
+ allow(message).to receive(:govuk_notify_responses=)
29
34
  allow(message).to receive(:govuk_notify_response=)
30
35
  end
31
36
 
@@ -35,10 +40,12 @@ describe GovukNotifyRails::Delivery do
35
40
  email_address: 'email@example.com',
36
41
  template_id: 'template-123',
37
42
  reference: reference,
38
- personalisation: personalisation,
39
- email_reply_to_id: reply_to
43
+ email_reply_to_id: reply_to,
44
+ one_click_unsubscribe_url: unsubscribe_url,
45
+ personalisation: personalisation
40
46
  }
41
47
  )
48
+
42
49
  subject.deliver!(message)
43
50
  end
44
51
 
@@ -48,7 +55,12 @@ describe GovukNotifyRails::Delivery do
48
55
  end
49
56
 
50
57
  it 'returns the client response' do
51
- expect(subject.deliver!(message)).to eq('response')
58
+ expect(subject.deliver!(message)).to eq(['response'])
59
+ end
60
+
61
+ it 'assigns the client responses for later inspection' do
62
+ subject.deliver!(message)
63
+ expect(message).to have_received(:govuk_notify_responses=).with(['response'])
52
64
  end
53
65
 
54
66
  it 'assigns the client response for later inspection' do
@@ -57,6 +69,37 @@ describe GovukNotifyRails::Delivery do
57
69
  end
58
70
  end
59
71
 
72
+ context 'multiple to addresses' do
73
+ let(:to) { ['email1@example.com', 'email2@example.com'] }
74
+
75
+ it 'supports messages without personalisation' do
76
+ expect(notify_client).to receive(:send_email).with(
77
+ a_hash_including(email_address: 'email1@example.com')
78
+ )
79
+
80
+ expect(notify_client).to receive(:send_email).with(
81
+ a_hash_including(email_address: 'email2@example.com')
82
+ )
83
+
84
+ subject.deliver!(message)
85
+ end
86
+
87
+ context 'client response' do
88
+ before do
89
+ allow(notify_client).to receive(:send_email).and_return('response1', 'response2')
90
+ subject.deliver!(message)
91
+ end
92
+
93
+ it 'assigns the client responses for later inspection' do
94
+ expect(message).to have_received(:govuk_notify_responses=).with(['response1', 'response2'])
95
+ end
96
+
97
+ it 'assigns the first client response for later inspection' do
98
+ expect(message).to have_received(:govuk_notify_response=).with('response1')
99
+ end
100
+ end
101
+ end
102
+
60
103
  context 'no personalisation set' do
61
104
  let(:personalisation) { nil }
62
105
 
@@ -66,7 +109,8 @@ describe GovukNotifyRails::Delivery do
66
109
  email_address: 'email@example.com',
67
110
  template_id: 'template-123',
68
111
  reference: reference,
69
- email_reply_to_id: "email_reply_to_reference"
112
+ email_reply_to_id: reply_to,
113
+ one_click_unsubscribe_url: unsubscribe_url
70
114
  }
71
115
  )
72
116
  subject.deliver!(message)
@@ -82,7 +126,8 @@ describe GovukNotifyRails::Delivery do
82
126
  email_address: 'email@example.com',
83
127
  template_id: 'template-123',
84
128
  personalisation: personalisation,
85
- email_reply_to_id: "email_reply_to_reference"
129
+ email_reply_to_id: reply_to,
130
+ one_click_unsubscribe_url: unsubscribe_url
86
131
  }
87
132
  )
88
133
  subject.deliver!(message)
@@ -98,7 +143,25 @@ describe GovukNotifyRails::Delivery do
98
143
  email_address: 'email@example.com',
99
144
  template_id: 'template-123',
100
145
  personalisation: personalisation,
101
- reference: reference
146
+ reference: reference,
147
+ one_click_unsubscribe_url: unsubscribe_url
148
+ }
149
+ )
150
+ subject.deliver!(message)
151
+ end
152
+ end
153
+
154
+ context 'no unsubscribe url set' do
155
+ let(:unsubscribe_url) { nil }
156
+
157
+ it 'supports messages without unsubscribe url' do
158
+ expect(notify_client).to receive(:send_email).with(
159
+ {
160
+ email_address: 'email@example.com',
161
+ template_id: 'template-123',
162
+ reference: reference,
163
+ email_reply_to_id: reply_to,
164
+ personalisation: personalisation
102
165
  }
103
166
  )
104
167
  subject.deliver!(message)
@@ -5,6 +5,9 @@ RSpec.describe NotifyMailer, type: :mailer do
5
5
  describe 'new_message_test_email' do
6
6
  let(:template) { '9661d08a-486d-4c67-865e-ad976f17871d' }
7
7
  let(:reference) { 'my_reference' }
8
+ let(:reply_to) { '527c131f-ef4b-4b5b-8f9b-3202581af277' }
9
+ let(:unsubscribe_url) { 'https://example.com/unsubscribe?token=123456' }
10
+
8
11
  let(:user) { double('User', name: 'Test Name', email: 'test@example.com') }
9
12
  let(:mail) { described_class.test_email(user) }
10
13
 
@@ -28,6 +31,14 @@ RSpec.describe NotifyMailer, type: :mailer do
28
31
  expect(mail.govuk_notify_reference).to eq(reference)
29
32
  end
30
33
 
34
+ it 'sets the reply_to' do
35
+ expect(mail.govuk_notify_email_reply_to).to eq(reply_to)
36
+ end
37
+
38
+ it 'sets the unsubscribe url' do
39
+ expect(mail.govuk_notify_one_click_unsubscribe_url).to eq(unsubscribe_url)
40
+ end
41
+
31
42
  it 'sets the personalisation' do
32
43
  expect(mail.govuk_notify_personalisation.keys).to eq([:full_name])
33
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_notify_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jesus Laiz
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-22 00:00:00.000000000 Z
11
+ date: 2024-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '5.1'
33
+ version: '6.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '5.1'
40
+ version: '6.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.7'
47
+ version: '2.2'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.7'
54
+ version: '2.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -94,7 +94,7 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 3.0.5
97
- description:
97
+ description:
98
98
  email:
99
99
  - zheileman@users.noreply.github.com
100
100
  executables: []
@@ -166,7 +166,7 @@ homepage: https://github.com/ministryofjustice/govuk_notify_rails
166
166
  licenses:
167
167
  - MIT
168
168
  metadata: {}
169
- post_install_message:
169
+ post_install_message:
170
170
  rdoc_options: []
171
171
  require_paths:
172
172
  - lib
@@ -181,12 +181,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
181
  - !ruby/object:Gem::Version
182
182
  version: '0'
183
183
  requirements: []
184
- rubygems_version: 3.0.6
185
- signing_key:
184
+ rubygems_version: 3.4.10
185
+ signing_key:
186
186
  specification_version: 4
187
187
  summary: Custom ActionMailer delivery method for sending emails via GOV.UK Notify
188
188
  API
189
189
  test_files:
190
+ - spec/dummy/README.md
191
+ - spec/dummy/Rakefile
190
192
  - spec/dummy/app/assets/config/manifest.js
191
193
  - spec/dummy/app/assets/javascripts/application.js
192
194
  - spec/dummy/app/assets/javascripts/cable.js
@@ -237,8 +239,6 @@ test_files:
237
239
  - spec/dummy/public/apple-touch-icon.png
238
240
  - spec/dummy/public/favicon.ico
239
241
  - spec/dummy/public/robots.txt
240
- - spec/dummy/Rakefile
241
- - spec/dummy/README.md
242
242
  - spec/govuk_notify_delivery/delivery_spec.rb
243
243
  - spec/mailers/notify_mailer_spec.rb
244
244
  - spec/spec_helper.rb