Class: NewLead::ActivityAgendaReconciler
- Inherits:
-
Object
- Object
- NewLead::ActivityAgendaReconciler
- Includes:
- Service
- Defined in:
- app/services/new_lead/activity_agenda_reconciler.rb
Overview
Reconciles a customer's existing open lead activities with the ActivityAgenda
rules matching its current profile. Activities are retyped in place so their
history, notes, and due dates survive the profile correction.
Defined Under Namespace
Classes: Result
Constant Summary collapse
- LEAD_STATES =
%w[lead_qualify lead prospect].freeze
- LEAD_ACTIVITY_TAG =
'lead-the-way'
Instance Method Summary collapse
Methods included from Service
#attributes_used, #build_result, call, #logger
Methods included from Service::Initializer
Instance Method Details
#call ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/services/new_lead/activity_agenda_reconciler.rb', line 26 def call return Result.new unless customer&.state.in?(LEAD_STATES) activities = open_lead_activities return Result.new(status: :no_open_lead_activities) if activities.empty? desired_types = desired_activity_types return unroutable_result(activities) if desired_types.empty? reconcile(activities, desired_types) end |