Class: Jace::Registry
- Inherits:
-
Object
- Object
- Jace::Registry
- Defined in:
- lib/jace/registry.rb
Overview
Class responsible for registering handlers to events
Instance Method Summary collapse
-
#events ⇒ Array<Symbol>
Registered events.
-
#register(event, instant = :after, &block) ⇒ Array<Proc>
Register a handler to an event.
-
#registry ⇒ Hash
Event & Handlers registry.
-
#trigger(event, context, &block) ⇒ Object
Triggers an event.
Instance Method Details
#events ⇒ Array<Symbol>
Registered events
19 20 21 |
# File 'lib/jace/registry.rb', line 19 def events registry.keys end |
#register(event, instant = :after, &block) ⇒ Array<Proc>
Register a handler to an event
42 43 44 45 |
# File 'lib/jace/registry.rb', line 42 def register(event, instant = :after, &block) registry[event.to_sym] ||= Dispatcher.new registry[event.to_sym].send(instant) << block end |
#registry ⇒ Hash
Event & Handlers registry
12 13 14 |
# File 'lib/jace/registry.rb', line 12 def registry @registry ||= {} end |
#trigger(event, context, &block) ⇒ Object
Triggers an event
73 74 75 |
# File 'lib/jace/registry.rb', line 73 def trigger(event, context, &block) dispatcher_for(event).dispatch(context, &block) end |