Sha256: 8830fca9cf793a0f20cb471c3960a252d8ac5c1fbd583225599a49eedbbaa734

Contents?: true

Size: 888 Bytes

Versions: 8

Compression:

Stored size: 888 Bytes

Contents

module Hickory
  module LogSubscribers
    class ActionMailer < ActiveSupport::LogSubscriber
      def process(event)
        metadata = {
          mailer: event.payload[:mailer],
          action: event.payload[:action]
        }

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

      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

      private

      def obfuscate_emails(emails)
        emails.map do |email|
          email.sub(/([^\s]+)@([^\s]+)/) { |_| "#{$1[0...4]}****@#{$2[0...3]}***" }
        end.join(', ')
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hickory-0.1.7 lib/hickory/log_subscribers/action_mailer.rb
hickory-0.1.6 lib/hickory/log_subscribers/action_mailer.rb
hickory-0.1.5 lib/hickory/log_subscribers/action_mailer.rb
hickory-0.1.4 lib/hickory/log_subscribers/action_mailer.rb
hickory-0.1.3 lib/hickory/log_subscribers/action_mailer.rb
hickory-0.1.2 lib/hickory/log_subscribers/action_mailer.rb
hickory-0.1.1 lib/hickory/log_subscribers/action_mailer.rb
hickory-0.1.0 lib/hickory/log_subscribers/action_mailer.rb