From d8a292d9078a2de4f3cfe3308a57d5144cb448dd Mon Sep 17 00:00:00 2001
From: Josh Frye <joshfng@gmail.com>
Date: Wed, 27 Jan 2016 12:20:17 -0500
Subject: [PATCH] Cache BroadcastMessage.current for 5 minutes. Fixes #12770

---
 app/models/broadcast_message.rb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/app/models/broadcast_message.rb b/app/models/broadcast_message.rb
index 61119633717..ab3778b6397 100644
--- a/app/models/broadcast_message.rb
+++ b/app/models/broadcast_message.rb
@@ -26,7 +26,9 @@ class BroadcastMessage < ActiveRecord::Base
   default_value_for :font,  '#FFFFFF'
 
   def self.current
-    where("ends_at > :now AND starts_at <= :now", now: Time.zone.now).last
+    Rails.cache.fetch("broadcast_message_current", expires_in: 5.minutes) do
+      where("ends_at > :now AND starts_at <= :now", now: Time.zone.now).last
+    end
   end
 
   def active?
-- 
GitLab