Retrospring/app/models/user/notification_methods.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

19 lines
624 B
Ruby
Raw Normal View History

2023-02-25 06:46:11 -08:00
# frozen_string_literal: true
module User::NotificationMethods
def unread_notification_count
2024-01-25 12:15:04 -08:00
Rails.cache.fetch(notification_cache_key, expires_in: 12.hours) do
count = Notification.for(self).where(new: true).count(:id)
# Returning +nil+ here in order to not display a counter
# at all when there aren't any notifications
2023-02-25 06:46:11 -08:00
return nil unless count.positive?
count
end
end
def notification_cache_key = "#{cache_key}/unread_notification_count-#{notifications_updated_at}"
def notification_dropdown_cache_key = "#{cache_key}/notification_dropdown-#{notifications_updated_at}"
2023-02-25 06:46:11 -08:00
end