Class: MassSearch::ActivitySpreadWorker

Inherits:
Object
  • Object
show all
Includes:
MassSearchWorker
Defined in:
app/workers/mass_search/activity_spread_worker.rb

Overview

Spreads activities across working days for a mass-spread action.
action_params: { start_date:, max_per_day: }

Instance Method Summary collapse

Instance Method Details

#build_enumerator(args, cursor:) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'app/workers/mass_search/activity_spread_worker.rb', line 8

def build_enumerator(args, cursor:)
  super
  @start_date      = Time.zone.parse(@action_params[:start_date]).beginning_of_day
  @num_per_day     = @action_params[:max_per_day].to_i
  @valid_rep_ids   = ([@user&.id] + (@user&.manages&.map(&:id) || [])).compact.uniq

  active_record_records_enumerator(
    @search.search_results.joins('JOIN activities ON activities.id = search_results.resource_id').order('activities.target_datetime'),
    cursor: cursor
  )
end