# frozen_string_literal: true module PlainApm module Hooks class ActionMailer < ActiveSupportSubscriber NOTIFICATION_PATTERN = /\A[^!]\w+\.action_mailer\Z/.freeze private def notification_pattern NOTIFICATION_PATTERN end def payload(event) name, source = *event.name.split(".") payload = event.payload base = { "source" => source, "name" => name, "backtrace" => filtered_backtrace, "allocations" => event.allocations, "started_at" => event.time, "finished_at" => event.end, "trace_id" => trace_id } case name when "deliver" base.merge({ "message_id" => payload[:message_id], "mailer" => payload[:mailer], "perform_deliveries" => payload[:perform_deliveries] }) when "process" base.merge({ "mailer" => payload[:mailer], "action" => payload[:action] }) end end end end end