Retrospring/app/models/user/inbox_methods.rb

18 lines
487 B
Ruby

# frozen_string_literal: true
module User::InboxMethods
def unread_inbox_count
Rails.cache.fetch(inbox_cache_key, expires_in: 12.hours) do
count = InboxEntry.where(new: true, user_id: id).count(:id)
# Returning +nil+ here in order to not display a counter
# at all when there isn't anything in the user's inbox
return nil unless count.positive?
count
end
end
def inbox_cache_key = "#{cache_key}/unread_inbox_count-#{inbox_updated_at}"
end