5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'app/services/rails_drips/schedule_deliveries.rb', line 5
def self.call(enrollment:, recipient_email:)
scheduled_for = enrollment.enrolled_at
enrollment.campaign_version.steps.order(:position).map do |step|
scheduled_for += step.delay_duration
enrollment.deliveries.create!(
step: step,
recipient: enrollment.recipient,
recipient_email: recipient_email,
scheduled_for: scheduled_for,
campaign_key: enrollment.campaign.key,
email_key: step.email_key,
email_category: step.resolved_email_category,
data: { "step_position" => step.position, "version_number" => enrollment.campaign_version.version_number }
)
end
end
|