Module: Marty::Promises::Cancel

Defined in:
app/services/marty/promises/cancel.rb

Class Method Summary collapse

Class Method Details

.call(id) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'app/services/marty/promises/cancel.rb', line 4

def call(id)
  ids = get_all_ids(id)
  promises = Marty::Promise.where(id: ids)
  jobids = promises.map(&:job_id).compact.sort
  Delayed::Job.where(id: jobids).destroy_all
  promises.each do |p|
    p.update!(status: false,
              end_dt: p.end_dt || Time.zone.now,
              result: p.result + { error: 'Cancelled' })
  end
end