Module: TestBench::Telemetry::Sink::Handler::HandlerMethod

Defined in:
lib/test_bench/telemetry/sink/handler.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.get(event_type) ⇒ Object



105
106
107
# File 'lib/test_bench/telemetry/sink/handler.rb', line 105

def self.get(event_type)
  handler_methods[event_type]
end

.get!(event_type) ⇒ Object



117
118
119
120
121
# File 'lib/test_bench/telemetry/sink/handler.rb', line 117

def self.get!(event_type)
  event_name = Event::EventName.get(event_type)

  :"handle_#{event_name}"
end

.handler_methodsObject



109
110
111
112
113
114
115
# File 'lib/test_bench/telemetry/sink/handler.rb', line 109

def self.handler_methods
  @handler_methods ||= Hash.new do |handler_methods, event_type|
    handler_method = get!(event_type)

    handler_methods[event_type] = handler_method
  end
end

Instance Method Details

#handler_method(event_or_event_data) ⇒ Object



93
94
95
96
97
98
99
100
101
102
103
# File 'lib/test_bench/telemetry/sink/handler.rb', line 93

def handler_method(event_or_event_data)
  if event_or_event_data.is_a?(Event)
    event = event_or_event_data
    event_type = event.event_type
  else
    event_data = event_or_event_data
    event_type = event_data.type
  end

  HandlerMethod.get(event_type)
end