15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'app/workers/workarea/index_release_schedule_change.rb', line 15
def perform(id, previous_publish_at, new_publish_at)
rescheduled_release = Release.find_or_initialize_by(id: id)
earlier, later = if rescheduled_release.persisted? && previous_publish_at.present? && new_publish_at.present?
[previous_publish_at, new_publish_at].sort
elsif previous_publish_at.present?
[previous_publish_at, nil]
else
[new_publish_at, nil]
end
IndexReleaseSchedulePreviews
.new(release: rescheduled_release, starts_at: earlier, ends_at: later)
.perform
end
|