Sha256: d17ea9aecbfb88ba832f29eae4712c7f360cd5afb6361194a5429366484ae237

Contents?: true

Size: 882 Bytes

Versions: 19

Compression:

Stored size: 882 Bytes

Contents

<%= autogenerated_event_warning %>

class LiveEvents::SyllabusEvent < LiveEvents::BaseEvent
  # The following is provided in the live events call:
  # {
  #   course_id: course.global_id,
  #   syllabus_body: LiveEvents.truncate(course.syllabus_body),
  #   old_syllabus_body: LiveEvents.truncate(old_syllabus_body)
  # }
  #

  def perform(event_payload)
    super
    attrs = {
      course_id: course.try(:id),
      syllabus_body: payload[:syllabus_body]
    }
    create_or_update(attrs)
  rescue => e
    log_error e
  ensure
    true
  end

  private
  def create_or_update(attrs)
    syllabus = Syllabus.where(course_id: attrs[:course_id]).first_or_initialize
    syllabus.body = attrs[:syllabus_body] # Syllabus Body can get truncated by live events
    syllabus.save!
  end

  def course
    Course.find_by(canvas_course_id: local_canvas_id(payload[:course_id]))
  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/syllabus/syllabus_event.rb
canvas_sync-0.3.22 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.21 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.20 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.19 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.18 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.17 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.16 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.15 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.14 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.13 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.12 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.11 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.10 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.9 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.8 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.7 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.6 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb
canvas_sync-0.3.5 lib/canvas_sync/generators/templates/services/live_events/syllabus/syllabus_event.rb