Sha256: 0dd76ef99b34b060e20aa609dc825e44c5e3de9c77c70cb7430c54006b251a08

Contents?: true

Size: 713 Bytes

Versions: 1

Compression:

Stored size: 713 Bytes

Contents

module CanvasSync::LiveEvents
  class ProcessEventJob < ::CanvasSync::Job
    def perform(event)
      event = event.with_indifferent_access

      # Support Legacy-Style Event Handlers
      begin
        legacy_handler = "LiveEvents::#{event['metadata']['event_name'].camelcase}Event".constantize
        legacy_handler.perform_later(event)
        return
      rescue LoadError, NameError
      end

      handlers = CanvasSync::LiveEvents.registered_handlers
      handlers.each do |h|
        h.call(event)
      rescue => e
        throw e if Rails.env.test?
        Rails.logger.error("LiveEvent Handler raised Error: #{e}")
        Raven.captureException(e) if defined? Raven
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
canvas_sync-0.21.0.beta3 lib/canvas_sync/live_events/process_event_job.rb