class SoraGeocoding::Logger

Logger

Constants

LOG_LEVEL

Public Instance Methods

add(level, message) click to toggle source
# File lib/sora_geocoding/logger.rb, line 35
def add(level, message)
  return unless log_message_at_level?(level)

  case level
  when ::Logger::DEBUG, ::Logger::INFO
    puts message
  when ::Logger::WARN
    warn message
  when ::Logger::ERROR
    raise message
  when ::Logger::FATAL
    raise message
  end
end
log(level, message) click to toggle source
# File lib/sora_geocoding/logger.rb, line 23
def log(level, message)
  raise StandardError, 'SoraGeocoding tried to log a message with an invalid log level.' unless valid_level?(level)

  if respond_to?(:add)
    add(LOG_LEVEL[level], message)
  else
    raise SoraGeocoding::ConfigurationError, 'Please specify valid logger for SoraGeocoding. ' \
                                             'Logger specified must respond to `add(level, message)`.'
  end
  nil
end

Private Instance Methods

log_message_at_level?(level) click to toggle source
# File lib/sora_geocoding/logger.rb, line 55
def log_message_at_level?(level)
  level >= SoraGeocoding.config.logger_level
end
valid_level?(level) click to toggle source
# File lib/sora_geocoding/logger.rb, line 51
def valid_level?(level)
  LOG_LEVEL.keys.include?(level)
end