class PerformanceLogger

Public Class Methods

new(log_file:nil) click to toggle source
# File lib/performance_logger.rb, line 4
def initialize(log_file:nil)
  raise 'Log file must be given' unless log_file.present?
  @log_file = log_file
end

Public Instance Methods

log(message) click to toggle source
# File lib/performance_logger.rb, line 25
def log(message)
  logger.info(message)
end
wrap() { |self| ... } click to toggle source
# File lib/performance_logger.rb, line 9
def wrap
  log("----------------------------------")
  start_time = Time.current
  log("Start time: #{start_time}")

  yield(self)

  end_time = Time.current
  log("End time: #{end_time}")
  total = end_time - start_time
  readable_total = distance_of_time_in_words(total)
  log("Total: #{readable_total}")
  log("Total in sec: #{total}")
  log("----------------------------------")
end

Private Instance Methods

logger() click to toggle source
# File lib/performance_logger.rb, line 31
def logger
  @logger = ActiveSupport::Logger.new(@log_file)
end