module PaulBunyan::Level

Constants

LEVEL_MAP
LOGGING_LEVELS
LOGGING_LEVEL_KEYS

Public Class Methods

coerce_level(level) click to toggle source
# File lib/paul_bunyan/level.rb, line 14
def self.coerce_level(level)
  coerced_level = level || Logger::DEBUG
  if level =~ /\A\s*\d+\s*\z/
    coerced_level = level.to_i
  elsif level.is_a?(String) || level.is_a?(Symbol)
    coerced_level = LEVEL_MAP[level.upcase.to_sym]
  end

  unless LOGGING_LEVELS.cover?(coerced_level)
    fail UnknownLevelError, "Unknown logging level #{level}. Please try one of: #{LOGGING_LEVEL_KEYS.join(', ')}."
  end
  coerced_level
end