Class: EventEngine::HandlerRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/event_engine/handler_registry.rb

Instance Method Summary collapse

Constructor Details

#initializeHandlerRegistry

Returns a new instance of HandlerRegistry.



3
4
5
# File 'lib/event_engine/handler_registry.rb', line 3

def initialize
  @handlers = []
end

Instance Method Details

#clear!Object



19
20
21
# File 'lib/event_engine/handler_registry.rb', line 19

def clear!
  @handlers.clear
end

#dispatch(event) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/event_engine/handler_registry.rb', line 11

def dispatch(event)
  @handlers.each do |registration|
    levels = registration[:levels]
    registration[:handler].call(event) if levels == :all || levels.include?(event.process_type)
  end
  event
end

#register(handler, levels:) ⇒ Object



7
8
9
# File 'lib/event_engine/handler_registry.rb', line 7

def register(handler, levels:)
  @handlers << { handler: handler, levels: levels }
end