Class: LiveEvents::CourseSectionEvent

Inherits:
CanvasSync::LiveEvents::BaseHandler show all
Defined in:
lib/canvas_sync/generators/templates/services/live_events/course_section_event.rb

Instance Attribute Summary

Attributes inherited from CanvasSync::LiveEvents::BaseHandler

#metadata, #payload, #raw_payload

Attributes inherited from CanvasSync::Job

#job_log

Instance Method Summary collapse

Methods inherited from CanvasSync::LiveEvents::BaseHandler

#perform

Methods inherited from CanvasSync::Job

#create_job_log, #report_checker_wait_time, #update_or_create_model

Instance Method Details

#processObject



6
7
8
9
10
11
12
# File 'lib/canvas_sync/generators/templates/services/live_events/course_section_event.rb', line 6

def process
  section = Section.where(canvas_id: local_canvas_id(payload[:course_section_id])).first_or_initialize
  section.sync_from_api
  # A section change could constitute a crosslisting change, which means
  # we need to make sure all our enrollments are pointing to the correct course
  section.enrollments.update_all(canvas_course_id: section.canvas_course_id)
end