Sha256: 03af378102a365f56f8f7ea6d9db5b8a4b8a2627f1d08ec14d0c59ee458b489f
Contents?: true
Size: 810 Bytes
Versions: 4
Compression:
Stored size: 810 Bytes
Contents
# frozen_string_literal: true module Emailbutler module Webhooks module Mappers class Mailtrap DELIVERABILITY_MAPPER = { 'delivery' => 'delivered', 'open' => 'delivered', 'click' => 'delivered' }.freeze def call(payload:) payload['events'].filter_map { |message| message.stringify_keys! message_uuid = message['message_id'] status = DELIVERABILITY_MAPPER[message['event']] || Emailbutler::Message::FAILED next if message_uuid.nil? { message_uuid: message_uuid, status: status, timestamp: message['timestamp'] ? Time.at(message['timestamp']).utc.to_datetime : nil } } end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems