Sha256: 22d20be48ef4739aed56214147845863b55e724cbcbb033bdb1cba070fec8bc4

Contents?: true

Size: 1.43 KB

Versions: 7

Compression:

Stored size: 1.43 KB

Contents

class UserMailer < ApplicationMailer
  include WithCertificateRender

  def welcome_email(user, organization)
    with_locale(user, organization) do
      organization_name = organization.display_name || t(:your_new_organization)
      build_email t(:welcome, name: organization_name), { inline: organization.welcome_email_template }, from: organization.welcome_email_sender
    end
  end

  def we_miss_you_reminder(user, cycles)
    with_locale(user) do
      build_email t(:we_miss_you), "#{cycles.ordinalize}_reminder"
    end
  end

  def no_submissions_reminder(user)
    with_locale(user) do
      build_email t(:start_using_mumuki), 'no_submissions_reminder'
    end
  end

  def certificate(certificate)
    with_locale certificate.user, certificate.organization do
      attachments[certificate.filename] = pdf_for(certificate)
      mail to: certificate.user.email, subject: certificate.description
    end
  end

  def with_locale(user, organization = nil, &block)
    @user = user
    @unsubscribe_code = User.unsubscription_verifier.generate(user.id)
    @organization = organization || user.last_organization

    I18n.with_locale(@organization.locale, &block)
  end

  private

  def build_email(subject, template, **options)
    mail options.compact.merge(to: @user.email,
                               subject: subject,
                               content_type: 'text/html',
                               body: render(template))
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mumuki-laboratory-9.10.0 app/mailers/user_mailer.rb
mumuki-laboratory-9.9.0 app/mailers/user_mailer.rb
mumuki-laboratory-9.8.2 app/mailers/user_mailer.rb
mumuki-laboratory-9.8.1 app/mailers/user_mailer.rb
mumuki-laboratory-9.8.0 app/mailers/user_mailer.rb
mumuki-laboratory-9.7.2 app/mailers/user_mailer.rb
mumuki-laboratory-9.7.1 app/mailers/user_mailer.rb