Class: SmSmsCampaignWebhook::CampaignEngagementOperation
- Inherits:
-
Object
- Object
- SmSmsCampaignWebhook::CampaignEngagementOperation
- Defined in:
- app/operations/sm_sms_campaign_webhook/campaign_engagement_operation.rb
Overview
Handles campaign engagement payload data modeling and processing.
Class Method Summary collapse
-
.process(payload:) ⇒ Object
Models the campaign engagement payload and hands of processing of the data to the processor.
-
.processor ⇒ Processable
Configured SMS campaign payload processor.
Class Method Details
.process(payload:) ⇒ Object
Models the campaign engagement payload and hands of processing of the data to the processor.
12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/operations/sm_sms_campaign_webhook/campaign_engagement_operation.rb', line 12 def self.process(payload:) logger.debug "#{name} - Processing campaign engagement payload: #{payload.inspect}" if payload.fetch("type") != "campaign.engagement" raise PayloadDispatchError, "dispatched payload different from campaign.engagement #{payload.inspect}" end campaign_engagement = CampaignEngagement.new(payload: payload) processor.process_campaign_engagement(campaign_engagement) end |
.processor ⇒ Processable
Returns Configured SMS campaign payload processor.
26 27 28 |
# File 'app/operations/sm_sms_campaign_webhook/campaign_engagement_operation.rb', line 26 def self.processor @processor ||= SmSmsCampaignWebhook.processor end |