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