class BenchmarkRequires::Runner

Public Class Methods

new() click to toggle source
# File lib/benchmark_requires/runner.rb, line 5
def initialize
  @level = 0
  @log_buffer = [] 
end

Public Instance Methods

benchmark(file_name) { || ... } click to toggle source
# File lib/benchmark_requires/runner.rb, line 10
def benchmark(file_name, &block)
  increment_level!
  time = Benchmark.realtime do
    yield
  end

  buffer_log MessageBuilder.new(file_name, time).message(@level)
  decrement_level!
  flush_log_buffer if top_level? 
end

Private Instance Methods

buffer_log(message) click to toggle source
# File lib/benchmark_requires/runner.rb, line 35
def buffer_log message
  @log_buffer << message 
end
decrement_level!() click to toggle source
# File lib/benchmark_requires/runner.rb, line 27
def decrement_level!
  @level -= 1
end
flush_log_buffer() click to toggle source
# File lib/benchmark_requires/runner.rb, line 39
def flush_log_buffer
  @log_buffer.reverse.each{|msg| BenchmarkRequires.log(msg)}
  BenchmarkRequires.log("")

  @log_buffer = []
end
increment_level!() click to toggle source
# File lib/benchmark_requires/runner.rb, line 23
def increment_level!
  @level += 1
end
top_level?() click to toggle source
# File lib/benchmark_requires/runner.rb, line 31
def top_level?
  @level == 0
end