Sha256: 55ebb3ad74cb0f69773078e05d05440ade0004f3d733c2eb0cfb6213957ccb8c
Contents?: true
Size: 1009 Bytes
Versions: 25
Compression:
Stored size: 1009 Bytes
Contents
# <%= autogenerated_model_warning %> class Section < ApplicationRecord include CanvasSync::Record include CanvasSync::Concerns::ApiSyncable canvas_sync_features :defaults # include CanvasSync::Concerns::LiveEventSync # after_process_live_event do # # A section change could constitute a crosslisting change, which means # # we need to make sure all our enrollments are pointing to the correct course # enrollments.update_all(canvas_course_id: canvas_course_id) # end validates :canvas_id, uniqueness: true, presence: true belongs_to :course, primary_key: :canvas_id, foreign_key: :canvas_course_id, optional: true has_many :enrollments, primary_key: :canvas_id, foreign_key: :canvas_section_id api_syncable({ sis_id: :sis_section_id, canvas_course_id: :course_id, canvas_nonxlist_course_id: :nonxlist_course_id, name: :name, start_at: :start_at, end_at: :end_at, workflow_state: ->(r){ 'active' }, }, -> (api) { api.section(canvas_id) }) end
Version data entries
25 entries across 25 versions & 1 rubygems