Class: TestBench::Telemetry::Sink::Handler::EventRegistry
- Inherits:
-
Object
- Object
- TestBench::Telemetry::Sink::Handler::EventRegistry
- Defined in:
- lib/test_bench/telemetry/sink/handler/event_registry.rb
Constant Summary collapse
- Error =
Class.new(RuntimeError)
Instance Attribute Summary collapse
Instance Method Summary collapse
- #event_types ⇒ Object
- #get(event_type) ⇒ Object
- #register(event_class) ⇒ Object
- #registered?(event_class) ⇒ Boolean
Instance Attribute Details
#event_classes ⇒ Object
8 9 10 |
# File 'lib/test_bench/telemetry/sink/handler/event_registry.rb', line 8 def event_classes @event_classes ||= {} end |
Instance Method Details
#event_types ⇒ Object
13 14 15 |
# File 'lib/test_bench/telemetry/sink/handler/event_registry.rb', line 13 def event_types event_classes.keys end |
#get(event_type) ⇒ Object
17 18 19 20 21 |
# File 'lib/test_bench/telemetry/sink/handler/event_registry.rb', line 17 def get(event_type) event_classes.fetch(event_type) do raise Error, "#{event_type} isn't registered" end end |
#register(event_class) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/test_bench/telemetry/sink/handler/event_registry.rb', line 23 def register(event_class) if registered?(event_class) raise Error, "#{event_class} is already registered" end event_type = event_class.event_type event_classes[event_type] = event_class end |
#registered?(event_class) ⇒ Boolean
33 34 35 36 37 |
# File 'lib/test_bench/telemetry/sink/handler/event_registry.rb', line 33 def registered?(event_class) event_type = event_class.event_type event_classes.key?(event_type) end |