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