From 791ddb8630dcfedebaeb4899bb12229ccb885d17 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Tue, 21 Aug 2018 15:44:47 +0800 Subject: [PATCH] PERF: Memoize `EmailReceiver#sent_to_mailinglist_mirror?`. --- lib/email/receiver.rb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/email/receiver.rb b/lib/email/receiver.rb index c0b7f201e13..2ca5c315d57 100644 --- a/lib/email/receiver.rb +++ b/lib/email/receiver.rb @@ -527,14 +527,16 @@ module Email end def sent_to_mailinglist_mirror? - destinations.each do |destination| - next unless destination[:type] == :category + @sent_to_mailinglist_mirror ||= begin + destinations.each do |destination| + next unless destination[:type] == :category - category = destination[:obj] - return true if category.mailinglist_mirror? + category = destination[:obj] + return true if category.mailinglist_mirror? + end + + false end - - false end def self.check_address(address)