about summary refs log tree commit diff
path: root/app/lib/delivery_failure_tracker.rb
diff options
context:
space:
mode:
authorStarfall <us@starfall.systems>2022-12-13 09:37:37 -0600
committerStarfall <us@starfall.systems>2022-12-13 09:37:37 -0600
commit9a99643ecd1e11c8763bbcb5c10bd3dfac3dd638 (patch)
treedb93273e38a54683bd41d19f166fe39787b58b67 /app/lib/delivery_failure_tracker.rb
parentdc9a63381b3498e915d8334728f0951b231527e6 (diff)
parentb0ef980aa17868f18089233060900aa5d5632863 (diff)
Merge remote-tracking branch 'glitch/main'
Diffstat (limited to 'app/lib/delivery_failure_tracker.rb')
-rw-r--r--app/lib/delivery_failure_tracker.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/app/lib/delivery_failure_tracker.rb b/app/lib/delivery_failure_tracker.rb
index 7c4e28eb7..66c1fd8c0 100644
--- a/app/lib/delivery_failure_tracker.rb
+++ b/app/lib/delivery_failure_tracker.rb
@@ -65,8 +65,13 @@ class DeliveryFailureTracker
       domains - UnavailableDomain.all.pluck(:domain)
     end
 
-    def warning_domains_map
-      warning_domains.index_with { |domain| redis.scard(exhausted_deliveries_key_by(domain)) }
+    def warning_domains_map(domains = nil)
+      if domains.nil?
+        warning_domains.index_with { |domain| redis.scard(exhausted_deliveries_key_by(domain)) }
+      else
+        domains -= UnavailableDomain.where(domain: domains).pluck(:domain)
+        domains.index_with { |domain| redis.scard(exhausted_deliveries_key_by(domain)) }.filter { |_, days| days.positive? }
+      end
     end
 
     private