Sha256: 2ef2763c7c80544a659f703d53a5ce9bea26428568e7f4a2b2a79803e47224dd

Contents?: true

Size: 825 Bytes

Versions: 16

Compression:

Stored size: 825 Bytes

Contents

module PaulBunyan
  module Level
    LEVEL_MAP = {
      DEBUG: Logger::DEBUG,
      INFO: Logger::INFO,
      WARN: Logger::WARN,
      ERROR: Logger::ERROR,
      FATAL: Logger::FATAL,
      UNKNOWN: Logger::UNKNOWN
    }.freeze
    LOGGING_LEVEL_KEYS = LEVEL_MAP.keys.freeze
    LOGGING_LEVELS = (Logger::DEBUG..Logger::UNKNOWN).freeze

    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
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
paul_bunyan-2.1.0 lib/paul_bunyan/level.rb
paul_bunyan-2.0.0 lib/paul_bunyan/level.rb
paul_bunyan-1.6.0 lib/paul_bunyan/level.rb
paul_bunyan-1.5.3 lib/paul_bunyan/level.rb
paul_bunyan-1.5.2 lib/paul_bunyan/level.rb
paul_bunyan-1.5.1 lib/paul_bunyan/level.rb
paul_bunyan-1.5.0 lib/paul_bunyan/level.rb
paul_bunyan-1.4.0 lib/paul_bunyan/level.rb
paul_bunyan-1.3.0 lib/paul_bunyan/level.rb
paul_bunyan-1.2.3 lib/paul_bunyan/level.rb
paul_bunyan-1.2.2 lib/paul_bunyan/level.rb
paul_bunyan-1.2.1 lib/paul_bunyan/level.rb
paul_bunyan-1.2.0 lib/paul_bunyan/level.rb
paul_bunyan-1.1.0 lib/paul_bunyan/level.rb
paul_bunyan-1.0.1 lib/paul_bunyan/level.rb
paul_bunyan-1.0.0 lib/paul_bunyan/level.rb