2020-01-06 20:03:03 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
2020-06-12 18:03:59 +00:00
|
|
|
require 'wisper'
|
|
|
|
require 'wisper/activejob'
|
|
|
|
class Houdini::EventPublisher
|
2020-01-06 20:03:03 +00:00
|
|
|
include Wisper::Publisher
|
|
|
|
|
2020-02-10 20:01:49 +00:00
|
|
|
def announce(event, *args)
|
2020-01-06 20:03:03 +00:00
|
|
|
broadcast(event, *args)
|
|
|
|
end
|
|
|
|
|
|
|
|
def subscribe_async(listener, options = {})
|
|
|
|
subscribe(listener, options.merge(async: true))
|
|
|
|
end
|
2020-06-12 18:03:59 +00:00
|
|
|
|
|
|
|
def subscribe_all(listeners, options = {})
|
|
|
|
listeners.each do |listener|
|
|
|
|
subscribe(listener, options.merge(async: true))
|
|
|
|
end
|
|
|
|
end
|
2020-01-06 20:03:03 +00:00
|
|
|
end
|