Sha256: 8e8c5c8d0dfce862dc3cbe75d029729d12f72fa061aa3ed8ee4fde6bac5590e8
Contents?: true
Size: 764 Bytes
Versions: 2
Compression:
Stored size: 764 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]), 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
Version data entries
2 entries across 2 versions & 1 rubygems