Class: CanvasSync::Jobs::SyncAdminsJob

Inherits:
CanvasSync::Job show all
Defined in:
lib/canvas_sync/jobs/sync_admins_job.rb

Instance Method Summary collapse

Methods inherited from CanvasSync::Job

#create_job_log, #report_checker_wait_time

Instance Method Details

#perform(job_chain, _options) ⇒ Object

Syncs Admins using the Canvas API

Parameters:

  • job_chain (Hash)
  • options (Hash)


9
10
11
12
13
14
15
16
17
# File 'lib/canvas_sync/jobs/sync_admins_job.rb', line 9

def perform(job_chain, _options)
  updated_admins = []
  CanvasSync.get_canvas_sync_client(job_chain[:global_options]).("self").all_pages!.each do |admin_params|
    admin = Admin.create_or_update(admin_params)
    updated_admins.push(admin.id)
  end
  Admin.where.not(id: updated_admins).delete_all
  CanvasSync.invoke_next(job_chain)
end