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

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