effective_messaging 0.12.2 → 0.12.3
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/app/models/effective/notification.rb +13 -3
- data/lib/effective_messaging/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7122fe35acd896e24f84b7fd65ba9514fb9a1dff0de6e50f0ac5af6d507f643b
|
|
4
|
+
data.tar.gz: a997df0342bbd6fa50f0ec0e87911f8518d00e5538d2f69f3686bba3c1e15923
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 84bd8c6a88b84dccd311c582a52648d1b2c0763e7575ef558274dd94d28ba5c56e4cae26eaa9e23cb0527e5c33af6035e691ced6d6184cae9ef35ff4b6228050
|
|
7
|
+
data.tar.gz: d6091da483e055c52b6f5fb60fa4b76b31759e986d90af906b8a43624129bc4067ccb2fc533fef2c4aaa34411588c9d2fe3b0f83fb9778d24e6788350d9df17a
|
|
@@ -257,7 +257,7 @@ module Effective
|
|
|
257
257
|
|
|
258
258
|
if audience_emails?
|
|
259
259
|
# notify_by_schedule
|
|
260
|
-
Effective::NotificationsMailer.notification(self, nil, email_notification_params)
|
|
260
|
+
Effective::NotificationsMailer.notification(self, nil, email_notification_params)
|
|
261
261
|
else
|
|
262
262
|
# notify_by_resources
|
|
263
263
|
resource = report.collection.order('RANDOM()').first
|
|
@@ -275,6 +275,9 @@ module Effective
|
|
|
275
275
|
# Send Now functionality. Don't duplicate if it's same day.
|
|
276
276
|
next if already_notified_today?(resource) && !force
|
|
277
277
|
|
|
278
|
+
# Don't send to users with a known email delivery error (e.g. a Postmark hard bounce or suppression)
|
|
279
|
+
next if email_delivery_error?(resource) && !force
|
|
280
|
+
|
|
278
281
|
print('.')
|
|
279
282
|
|
|
280
283
|
begin
|
|
@@ -394,11 +397,11 @@ module Effective
|
|
|
394
397
|
# 1. The report.report_columns
|
|
395
398
|
# 2. The class's def reportable_view_assigns(view) method
|
|
396
399
|
def assigns_for(resource = nil)
|
|
397
|
-
return {} unless report.present?
|
|
400
|
+
return {} unless report.present?
|
|
398
401
|
|
|
399
402
|
resource ||= report.reportable.new
|
|
400
403
|
raise('expected an acts_as_reportable resource') unless resource.class.try(:acts_as_reportable?)
|
|
401
|
-
|
|
404
|
+
|
|
402
405
|
report_assigns = Array(report.report_columns).inject({}) do |h, column|
|
|
403
406
|
value = resource.send(column.name)
|
|
404
407
|
h[column.name] = column.format(value); h
|
|
@@ -437,6 +440,13 @@ module Effective
|
|
|
437
440
|
emails.presence&.join(', ')
|
|
438
441
|
end
|
|
439
442
|
|
|
443
|
+
# True when the resource's emailable has a known email delivery error (set by effective_postmark)
|
|
444
|
+
# so we skip sending to avoid Postmark inactive recipient errors
|
|
445
|
+
def email_delivery_error?(resource)
|
|
446
|
+
emailable = resource_emailable(resource)
|
|
447
|
+
emailable.respond_to?(:email_delivery_error) && emailable.email_delivery_error.present?
|
|
448
|
+
end
|
|
449
|
+
|
|
440
450
|
# A user, owner, or organization column
|
|
441
451
|
def resource_emailable(resource)
|
|
442
452
|
return unless resource.present?
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: effective_messaging
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.12.
|
|
4
|
+
version: 0.12.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Code and Effect
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-06-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|