7
8
9
10
11
12
13
14
15
16
17
18
19 
     | 
    
      # File 'app/jobs/decidim/email_notifications_digest_generator_job.rb', line 7
def perform(user_id, frequency, time: Time.now.utc, force: false)
  user = Decidim::User.find_by(id: user_id)
  return if user.blank?
  should_notify = force || NotificationsDigestSendingDecider.must_notify?(user, time)
  return unless should_notify
  notification_ids = user.notifications.try(frequency, time).pluck(:id)
  return if notification_ids.blank?
  NotificationsDigestMailer.digest_mail(user, notification_ids).deliver_later
  user.update(digest_sent_at: time)
end 
     |