Sha256: 00ed5b81cc1bf3f041d1a4770fd35104933951066899a4cd61a12e975d3448fa
Contents?: true
Size: 977 Bytes
Versions: 19
Compression:
Stored size: 977 Bytes
Contents
<%= autogenerated_event_warning %> class LiveEvents::CourseEvent < LiveEvents::BaseEvent # The following is provided in the live events call: # { # course_id: course.global_id, # uuid: course.uuid, # account_id: course.global_account_id, # name: course.name, # created_at: course.created_at, # updated_at: course.updated_at, # workflow_state: course.workflow_state # } def perform(event_payload) super attrs = { canvas_course_id: local_canvas_id(payload[:course_id]), canvas_account_id: local_canvas_id(payload[:account_id]), name: payload[:name], workflow_state: payload[:workflow_state] } create_or_update(attrs) rescue => e log_error e ensure true end private def create_or_update(attrs) course = Course.where(canva_course_id: attrs[:canva_course_id]).first_or_initialize course.assign_attributes(attrs) course.save! course end end
Version data entries
19 entries across 19 versions & 1 rubygems