class SimpleBenchmark

Constants

VERSION

Attributes

enabled[W]
logger[W]

Public Class Methods

enabled?() click to toggle source
# File lib/simple_benchmark.rb, line 19
def self.enabled?
  @enabled == true
end
logger() click to toggle source
# File lib/simple_benchmark.rb, line 15
def self.logger
  @logger ||= default_logger
end
new(description, logger = nil) click to toggle source
# File lib/simple_benchmark.rb, line 23
def initialize(description, logger = nil)
  @description = description
  @logger      = logger
end

Private Class Methods

default_logger() click to toggle source
# File lib/simple_benchmark.rb, line 40
def self.default_logger
  defined?(Rails) ? Rails.logger : Logger.new('benchmark.log')
end

Public Instance Methods

run(&block) click to toggle source
# File lib/simple_benchmark.rb, line 28
def run(&block)
  result = nil
  report = Benchmark.measure do
    result = block.call
  end

  logger.info("#{@description}: #{report.real} second(s)")
  result
end

Private Instance Methods

logger() click to toggle source
# File lib/simple_benchmark.rb, line 44
def logger
  @logger ||= self.class.logger
end