Module: RaceGuard::Interceptors::Emitter

Defined in:
lib/race_guard/interceptors/emitter.rb

Overview

Emits a RaceGuard.report for built-in interceptors; never raises to callers.

Class Method Summary collapse

Class Method Details

.emit(kind, message, extra_context = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/race_guard/interceptors/emitter.rb', line 9

def emit(kind, message, extra_context = {})
  merged = build_merged_context(kind, extra_context)
  RaceGuard.report(
    detector: "commit_safety:#{kind}",
    message: message.to_s,
    severity: :info,
    context: merged
  )
rescue StandardError
  nil
end

.stringify_keys(hash) ⇒ Object



30
31
32
# File 'lib/race_guard/interceptors/emitter.rb', line 30

def stringify_keys(hash)
  hash.to_h.transform_keys { |k| k.respond_to?(:to_s) ? k.to_s : k.inspect }
end