class Wpxf::EventEmitter
An event emitter that allows one or more subscribers.
Public Class Methods
new()
click to toggle source
# File lib/wpxf/core/event_emitter.rb, line 6 def initialize @subscribers = [] end
Public Instance Methods
emit(event)
click to toggle source
Emit an event to be handled by each subscriber. @param event [Object] the event object to emit.
# File lib/wpxf/core/event_emitter.rb, line 24 def emit(event) @subscribers.each do |s| s.on_event_emitted(event) if s.respond_to? 'on_event_emitted' end end
subscribe(subscriber)
click to toggle source
Subscribe to the events emitted by this {EventEmitter}. @param subscriber [Object] the event subscriber.
# File lib/wpxf/core/event_emitter.rb, line 12 def subscribe(subscriber) @subscribers.push(subscriber) end
unsubscribe(subscriber)
click to toggle source
Unsubscribe from the events emitted by this {EventEmitter}. @param subscriber [Object] the event subscriber.
# File lib/wpxf/core/event_emitter.rb, line 18 def unsubscribe(subscriber) @subscribers -= [subscriber] end