module FlatKit::EventEmitter

A simplified Observable class for use internally

Public Instance Methods

_listeners() click to toggle source
# File lib/flat_kit/event_emitter.rb, line 29
def _listeners
  @_listeners ||= Array.new
end
add_listener(listener) click to toggle source
# File lib/flat_kit/event_emitter.rb, line 5
def add_listener(listener)
  raise ::NoMethodError, "#{listener} does not resond to #on_event" unless listener.respond_to?(:on_event)
  self._listeners ||= []
  self._listeners << listener unless _listeners.include?(listener)
end
count_listeners() click to toggle source
# File lib/flat_kit/event_emitter.rb, line 11
def count_listeners
  _listeners.size
end
notify_listeners(name:, data:, meta: nil) click to toggle source
# File lib/flat_kit/event_emitter.rb, line 23
def notify_listeners(name:, data:, meta: nil)
  _listeners.each do |l|
    l.on_event(name: name, data: data, meta: meta)
  end
end
remove_listener(listener) click to toggle source
# File lib/flat_kit/event_emitter.rb, line 15
def remove_listener(listener)
  _listeners.delete(listener)
end
remove_listeners() click to toggle source
# File lib/flat_kit/event_emitter.rb, line 19
def remove_listeners
  _listeners.clear
end