Sha256: 2325aedb949a67b6471255bd0408ffa7f753ea09d5b4dade21a710e968644af6
Contents?: true
Size: 740 Bytes
Versions: 3
Compression:
Stored size: 740 Bytes
Contents
# frozen_string_literal: true require 'emailbutler/webhooks/mappers/sendgrid' module Emailbutler module Webhooks class Receiver SENDGRID_USER_AGENT = 'SendGrid Event API' def self.call(args={}) new.call(**args) end def call(user_agent:, payload:) select_mapper(user_agent) .call(payload: payload) .each { |event| message = Emailbutler.find_message_by(uuid: event.delete(:message_uuid)) Emailbutler.update_message(message, event) } end private def select_mapper(user_agent) case user_agent when SENDGRID_USER_AGENT then Emailbutler::Webhooks::Mappers::Sendgrid end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
emailbutler-0.4.0 | lib/emailbutler/webhooks/receiver.rb |
emailbutler-0.3.0 | lib/emailbutler/webhooks/receiver.rb |
emailbutler-0.2.3 | lib/emailbutler/webhooks/receiver.rb |