module RenoteDac::Mailer

Constants

BATCH_ATTACHMENT_PARAMS
BATCH_EMAIL
BATCH_ID
BATCH_PARAMS
BATCH_TEMPLATE
InvalidTemplate

Public Class Methods

base_url() click to toggle source
# File lib/renote_dac/mailer.rb, line 41
def self.base_url
  if Rails.env.production?
    RenoteDac.configuration.prod_base_url
  else
    RenoteDac.configuration.dev_base_url
  end
end
enqueue(template, email_address, params = {}, attachment_params = []) click to toggle source
# File lib/renote_dac/mailer.rb, line 13
def self.enqueue(template, email_address, params = {}, attachment_params = [])
  meta = Mailer.get_template_meta(template)

  RenoteDac::Email.create!(
    priority: meta[:priority],
    template: template,
    address: email_address,
    params: params,
    attachment_params: attachment_params
  )
end
get_batch(size) click to toggle source
# File lib/renote_dac/mailer.rb, line 25
def self.get_batch(size)
  raise 'Max batch size is 500' if size > 500

  RenoteDac::Email
    .where(error: nil)
    .order(priority: :asc, id: :asc)
    .limit(size)
    .pluck(:id, :template, :address, :params, :attachment_params)
end
get_template_meta(template) click to toggle source
# File lib/renote_dac/mailer.rb, line 35
def self.get_template_meta(template)
  meta = RenoteDac.configuration.templates[template.to_sym]
  raise RenoteDac::Mailer::InvalidTemplate unless meta
  meta
end