class PerfectRetry::Config

Public Class Methods

create_from_hash(hash) click to toggle source
# File lib/perfect_retry/config.rb, line 5
def self.create_from_hash(hash)
  config = new
  hash.each do |k, v|
    config.send("#{k}=", v)
  end
  config
end

Public Instance Methods

set_log_level() click to toggle source
# File lib/perfect_retry/config.rb, line 13
def set_log_level
  if log_level && !logger.respond_to?(:level=)
    logger.warn("Ignore log_level setting because your logger don't have `level=` method. Info: `config.log_level = nil` will not try to change log level.")
    return
  end

  case log_level
  when Fixnum
    logger.level = log_level
    return
  when String, Symbol
    if int = Logger::SEV_LABEL.index(log_level.to_s.upcase)
      logger.level = int
      return
    end
  when nil
    # Don't touch when nil
    return
  end

  raise "Unknown log level '#{log_level}'(#{log_level.class})"
end
sleep_sec(count) click to toggle source
# File lib/perfect_retry/config.rb, line 36
def sleep_sec(count)
  if sleep.is_a?(Proc)
    sleep.call(count)
  else
    sleep
  end
end