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|
    process_types = registration[:process_types]
    registration[:handler].call(event) if process_types == :all || process_types.include?(event.process_type)
  end
  event
end

#register(handler, process_types:) ⇒ Object



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

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