class Hickory::LogSubscribers::ActionMailer

Public Instance Methods

deliver(event) click to toggle source
# File lib/hickory/log_subscribers/action_mailer.rb, line 13
def deliver(event)
  payload = event.payload
  metadata = {
    mailer:     payload[:mailer],
    message_id: payload[:message_id],
    subject:    payload[:subject],
    to:         obfuscate_emails(payload[:to]),
    from:       obfuscate_emails(payload[:from])
  }

  logger.info('mailer-deliver', metadata)
end
process(event) click to toggle source
# File lib/hickory/log_subscribers/action_mailer.rb, line 4
def process(event)
  metadata = {
    mailer: event.payload[:mailer],
    action: event.payload[:action]
  }

  logger.info('mailer-process', metadata)
end

Private Instance Methods

obfuscate_emails(emails) click to toggle source
# File lib/hickory/log_subscribers/action_mailer.rb, line 28
def obfuscate_emails(emails)
  emails.map do |email|
    email.sub(/([^\s]+)@([^\s]+)/) { |_| "#{$1[0...4]}****@#{$2[0...3]}***" }
  end.join(', ')
end