class Alephant::Logger::LevelsController

Constants

LEVELS

Ruby 1.x syntax used to support JRuby 1.7.x rubocop:disable Style/SymbolArray

Public Class Methods

should_log?(message_level, desired_level) click to toggle source
# File lib/alephant/logger/levels_controller.rb, line 10
def should_log?(message_level, desired_level)
  message_level_index = level_index(message_level)

  return false unless message_level_index

  message_level_index >= desired_level_index(desired_level)
end

Private Class Methods

desired_level_index(desired_level) click to toggle source
# File lib/alephant/logger/levels_controller.rb, line 20
def desired_level_index(desired_level)
  case desired_level
  when Symbol then level_index_with_default(desired_level)
  when String then level_index_with_default(desired_level.to_sym)
  when Integer then desired_level
  else
    raise(
      ArgumentError,
      'wrong type of argument: expected Integer, Symbol or String. '\
      "got #{desired_level.class}"
    )
  end
end
level_index(level) click to toggle source
# File lib/alephant/logger/levels_controller.rb, line 38
def level_index(level)
  LEVELS.index(level)
end
level_index_with_default(desired_level) click to toggle source
# File lib/alephant/logger/levels_controller.rb, line 34
def level_index_with_default(desired_level)
  level_index(desired_level) || 0
end