Sha256: 3605ae9ecdab5dc2a2d1e31ec155fb47cf8765802b17cbe5e78010e108d6682b
Contents?: true
Size: 785 Bytes
Versions: 25
Compression:
Stored size: 785 Bytes
Contents
require_relative './live_events/base_handler.rb' require_relative './live_events/process_event_job.rb' module CanvasSync module LiveEvents @@registered_handlers = [] class << self def listen(event_types = nil, &blk) if event_types != nil blk = wrap_method(blk) do |inner, event| meta = event[:metadata] payload = event[:payload] if event_types.include?(meta[:event_name]) inner.call(*args) end end end @@registered_handlers << blk end def registered_handlers @@registered_handlers end private def wrap_method(inner, &outer) ->(*args) { outer.call(inner, *args) } end end end end
Version data entries
25 entries across 25 versions & 1 rubygems