Class: CanvasSync::Jobs::SyncRolesJob
- Inherits:
-
CanvasSync::Job
- Object
- ActiveJob::Base
- CanvasSync::Job
- CanvasSync::Jobs::SyncRolesJob
- Defined in:
- lib/canvas_sync/jobs/sync_roles_job.rb
Instance Method Summary collapse
-
#perform(job_chain, _options) ⇒ Object
Syncs Roles using the Canvas API.
Methods inherited from CanvasSync::Job
#create_job_log, #report_checker_wait_time
Instance Method Details
#perform(job_chain, _options) ⇒ Object
Syncs Roles using the Canvas API
9 10 11 12 13 14 15 16 17 |
# File 'lib/canvas_sync/jobs/sync_roles_job.rb', line 9 def perform(job_chain, ) updated_roles = [] CanvasSync.get_canvas_sync_client(job_chain[:global_options]).list_roles("self").all_pages!.each do |role_params| role = Role.create_or_update(role_params) updated_roles.push(role.id) end Role.where.not(id: updated_roles).delete_all CanvasSync.invoke_next(job_chain) end |