Module: Julewire::Core::Diagnostics::InvalidSeverityReporter
- Defined in:
- lib/julewire/core/diagnostics/invalid_severity_reporter.rb
Class Method Summary collapse
- .call(value, source: nil, event: nil) ⇒ Object
- .counter ⇒ Object
- .metadata(value, source:, event:) ⇒ Object
- .reset! ⇒ Object
- .reset_after_fork! ⇒ Object
- .warn_once(metadata) ⇒ Object
Class Method Details
.call(value, source: nil, event: nil) ⇒ Object
58 59 60 61 62 |
# File 'lib/julewire/core/diagnostics/invalid_severity_reporter.rb', line 58 def call(value, source: nil, event: nil) warning_only.call(value, source: source, event: event) rescue StandardError nil end |
.counter ⇒ Object
64 |
# File 'lib/julewire/core/diagnostics/invalid_severity_reporter.rb', line 64 def counter = RuntimeCounter.new |
.metadata(value, source:, event:) ⇒ Object
84 85 86 87 88 89 90 91 92 |
# File 'lib/julewire/core/diagnostics/invalid_severity_reporter.rb', line 84 def (value, source:, event:) { event: event, source: source, value_class: value.class.name || value.class.to_s }.compact.freeze rescue StandardError { value_class: "unknown" }.freeze end |
.reset! ⇒ Object
73 74 75 76 |
# File 'lib/julewire/core/diagnostics/invalid_severity_reporter.rb', line 73 def reset! @mutex.synchronize { @warned = false } nil end |
.reset_after_fork! ⇒ Object
78 79 80 81 82 |
# File 'lib/julewire/core/diagnostics/invalid_severity_reporter.rb', line 78 def reset_after_fork! @mutex = Mutex.new @warned = false nil end |
.warn_once(metadata) ⇒ Object
66 67 68 69 70 71 |
# File 'lib/julewire/core/diagnostics/invalid_severity_reporter.rb', line 66 def warn_once() return unless first_warning? # Bypass Ruby's verbosity gates; this warning is emitted once. Warning.warn("julewire: unsupported record severity #{.fetch(:value_class)}; using :info\n") end |