Module: Benchm

Defined in:
lib/benchm.rb

Class Method Summary collapse

Class Method Details

.ark(message = nil, repeat = @repeat) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 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

.repeatObject



38
39
40
# File 'lib/benchm.rb', line 38

def self.repeat
  @repeat
end

.repeat=(r) ⇒ Object



31
32
33
34
35
36
# 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