docbrown/app/services/email_digest.rb
Michael Kohl 6dfabd578f
Rename SiteConfig to Settings::General (#13573)
* 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'
2021-05-21 14:45:37 +02:00

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