Class: ErrorRadar::DigestMailer

Inherits:
ActionMailer::Base
  • Object
show all
Defined in:
app/mailers/error_radar/digest_mailer.rb

Instance Method Summary collapse

Instance Method Details

#digest(data, period: :daily) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/mailers/error_radar/digest_mailer.rb', line 7

def digest(data, period: :daily)
  @data      = data
  @period    = period
  @app_name  = ErrorRadar.config.app_name ||
               (defined?(Rails) && Rails.application ? Rails.application.class.module_parent_name : 'App')
  @app_host  = ErrorRadar.config.app_host.to_s.chomp('/')

  period_label = period == :weekly ? 'Weekly' : 'Daily'
  subject = "[#{@app_name}] #{period_label} Digest — " \
            "#{data[:new_this_period]} new · " \
            "#{data[:unresolved]} open · " \
            "#{data[:resolved_this_period]} resolved"

  recipients = ErrorRadar.config.digest_recipients.any? ?
               ErrorRadar.config.digest_recipients :
               ErrorRadar.config.email_recipients

  mail(
    to:      recipients,
    from:    ErrorRadar.config.email_from || 'noreply@localhost',
    subject: subject
  )
end