class ActiveAdmin::EventDispatcher

def clear_all_subscribers!

def clear_all_subscribers!
  @events = {}
end

def dispatch(event, *args)

def dispatch(event, *args)
  subscribers(event).each do |subscriber|
    subscriber.call(*args)
  end
end

def initialize

def initialize
  @events = {}
end

def subscribe(*event_names, &block)

def subscribe(*event_names, &block)
  event_names.each do |event|
    @events[event] ||= []
    @events[event] << block
  end
end

def subscribers(event)

def subscribers(event)
  @events[event] || []
end