Module: Julewire::Core::Records::Severity
- Defined in:
- lib/julewire/core/records/severity.rb
Constant Summary collapse
- VALUES =
%i[debug info warn error fatal unknown].freeze
- STRING_VALUES =
VALUES.to_h { [it.name, it] }.freeze
- RANKS =
VALUES.each_with_index.to_h.freeze
- LOGGER_INTEGER_VALUES =
VALUES.each_with_index.to_h.invert.freeze
Class Method Summary collapse
Class Method Details
.normalize(value) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/julewire/core/records/severity.rb', line 14 def normalize(value) return value if RANKS.key?(value) severity = severity_symbol(value) return severity if RANKS.key?(severity) raise ArgumentError, "unsupported severity: #{value.inspect}" end |
.rank(value) ⇒ Object
34 35 36 37 38 39 |
# File 'lib/julewire/core/records/severity.rb', line 34 def rank(value) rank = RANKS[value] return rank unless rank.nil? RANKS.fetch(normalize(value)) end |
.severity_symbol(value) ⇒ Object
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/julewire/core/records/severity.rb', line 23 def severity_symbol(value) case value when Symbol value.downcase when String STRING_VALUES[value.downcase] when Integer LOGGER_INTEGER_VALUES[value] end end |