Sha256: 6b72bfa74cc684436ff00f873acac5f3141ab0f4ca1ab8e99949c80b38a671c5
Contents?: true
Size: 836 Bytes
Versions: 19
Compression:
Stored size: 836 Bytes
Contents
<%= autogenerated_event_warning %> class LiveEvents::UserEvent < LiveEvents::BaseEvent # The following is provided in the live events call: # { # user_id: user.global_id, # uuid: user.uuid, # name: user.name, # short_name: user.short_name, # workflow_state: user.workflow_state, # created_at: user.created_at, # updated_at: user.updated_at # } def perform(event_payload) super attrs = { canvas_user_id: local_canvas_id(payload[:user_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) user = User.where(canvas_user_id: attrs[:canvas_user_id]).first_or_initialize user.assign_attributes(attrs) user.save! end end
Version data entries
19 entries across 19 versions & 1 rubygems