* Rename SiteConfig * More renaming * Update spec * Update mandatory settings mapping * More renaming * e2e test fixes * You have a rename, and you have a rename * Spec fix * More changes * Temporarily disable specs * After-merge update * Undo rename for migration * undo rename of DUS * Fix DUS * Fix merge problem * Remove redundant DUS * Fix specs * Remove unused code * Change wrong class name * More cleanup * Re-add missing values to constant * Fix constant * Fix spec * Remove obsolete fields * Add accidentally removed field * Update spec * Move methods from Settings::General to ForemInstance * Remove unneeded model * Change mentions of 'site config'
30 lines
826 B
Ruby
30 lines
826 B
Ruby
class EmailDigest
|
|
def self.send_periodic_digest_email(users = [])
|
|
new(users).send_periodic_digest_email
|
|
end
|
|
|
|
def initialize(users = [])
|
|
@users = users.empty? ? get_users : users
|
|
end
|
|
|
|
def send_periodic_digest_email
|
|
@users.select(:id).in_batches do |batch|
|
|
batch.each do |user|
|
|
# Temporary
|
|
# @sre:mstruve This is temporary until we have an efficient way to handle this job
|
|
# for our large DEV community. Smaller Forems should be able to handle it no problem
|
|
if ForemInstance.dev_to?
|
|
Emails::SendUserDigestWorker.new.perform(user.id)
|
|
else
|
|
Emails::SendUserDigestWorker.perform_async(user.id)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def get_users
|
|
User.registered.where(email_digest_periodic: true).where.not(email: "")
|
|
end
|
|
end
|