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

Version Path
canvas_sync-0.3.23 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.22 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.21 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.20 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.19 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.18 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.17 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.16 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.15 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.14 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.13 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.12 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.11 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.10 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.9 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.8 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.7 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.6 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb
canvas_sync-0.3.5 lib/canvas_sync/generators/templates/services/live_events/user/user_event.rb