module Benchm

Public Class Methods

ark(message = nil, repeat = @repeat) { || ... } click to toggle source
# File lib/benchm.rb, line 6
def self.ark(message = nil, repeat = @repeat)
  if repeat.class == Float
    raise ArgumentError, "No implicit conversion of Float to Integer."
  end
  if message.class == Fixnum
    repeat = message
    message = nil
  elsif message.class != String && message
    raise ArgumentError, "No implicit conversion of #{message.class} to String."
  end
  time_1 = Time.now
  repeat.to_i.times do
    yield
  end
  time_2 = Time.now
  puts
  print message.capitalize + ' ' if message
  print 'Total: '
  puts (time_2 - time_1).to_s + ' seconds'
  print message.capitalize + ' ' if message
  print 'Average: '
  puts ((time_2 - time_1)/repeat.to_f).to_s + ' seconds'
  puts
end
repeat() click to toggle source
# File lib/benchm.rb, line 38
def self.repeat
  @repeat
end
repeat=(r) click to toggle source
# File lib/benchm.rb, line 31
def self.repeat=(r)
  unless r.class == Fixnum
    raise ArgumentError, 'Repeat must be an integer.'
  end
  @repeat = r
end