Repository URL to install this package:
|
Version:
1.0.0.pre ▾
|
module ActiveAdmin
class EventDispatcher
def initialize
@events = {}
end
def clear_all_subscribers!
@events = {}
end
def subscribe(*event_names, &block)
event_names.each do |event|
@events[event] ||= []
@events[event] << block
end
end
def subscribers(event)
@events[event] || []
end
def dispatch(event, *args)
subscribers(event).each do |subscriber|
subscriber.call(*args)
end
end
end
# ActiveAdmin::Event is set to a dispatcher
Event = EventDispatcher.new
end