class HecksApp::ApplicationPort::Event
Public Class Methods
emit(event)
click to toggle source
# File lib/application_port/event.rb, line 14 def self.emit(event) instance.emit(event) end
new()
click to toggle source
# File lib/application_port/event.rb, line 6 def initialize @subscriptions = {} end
subscribe(subscriber, event)
click to toggle source
# File lib/application_port/event.rb, line 10 def self.subscribe(subscriber, event) instance.subscribe(subscriber, event) end
Public Instance Methods
emit(event)
click to toggle source
# File lib/application_port/event.rb, line 23 def emit(event) return unless @subscriptions[event] @subscriptions[event].each do |subscriber| subscriber.notify(event) end end
subscribe(subscriber, event)
click to toggle source
# File lib/application_port/event.rb, line 18 def subscribe(subscriber, event) @subscriptions[event] ||= [] @subscriptions[event] << subscriber end