Sha256: 00632f08bbe2e0409edc2a3c19741ee90035f3c945fa02f4450773752952d0e7
Contents?: true
Size: 848 Bytes
Versions: 2
Compression:
Stored size: 848 Bytes
Contents
# <%= autogenerated_event_warning %> module LiveEvents class 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], status: payload[:workflow_state], } create_or_update(attrs) 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 end
Version data entries
2 entries across 2 versions & 1 rubygems