Class: Timer

Inherits:
Object
  • Object
show all
Defined in:
lib/timer.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTimer

Returns a new instance of Timer.



4
5
6
# File 'lib/timer.rb', line 4

def initialize
  @start_time=Time.now
end

Instance Attribute Details

#start_timeObject

Returns the value of attribute start_time.



2
3
4
# File 'lib/timer.rb', line 2

def start_time
  @start_time
end

Class Method Details

.elapsed_exceeds?(name, duration_seconds) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
# File 'lib/timer.rb', line 16

def self.elapsed_exceeds?(name,duration_seconds)
  if(Timer.get_elapsed(name).nil? || Timer.get_elapsed(name) > duration_seconds)
 return true
	end
	return false
end

.get_elapsed(name) ⇒ Object



23
24
25
26
27
# File 'lib/timer.rb', line 23

def self.get_elapsed(name)
  timestamp=get_timestamp(name)
	return Time.now-timestamp if(!timestamp.nil?)
	nil
end

.get_timestamp(name) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/timer.rb', line 29

def self.get_timestamp(name)
  dir=Rake.application.original_dir
  if(File.exists?("#{DEV[:dev_root]}/log/#{name}.timestamp"))
    return Time.parse(File.read("#{DEV[:dev_root]}/log/#{name}.timestamp").strip)
	end
	nil
end

.set_timestamp(name) ⇒ Object



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

def self.set_timestamp(name)
  Dir.mkdir("#{DEV_TASKS[:dev_root]}/log") if(!Dir.exists?("#{DEV_TASKS[:dev_root]}/log"))
  File.open("#{DEV_TASKS[:dev_root]}/log/#{name}.timestamp",'w'){|f|f.puts(Time.now.to_s)}
end

Instance Method Details

#elapsedObject

in seconds



8
9
10
# File 'lib/timer.rb', line 8

def elapsed # in seconds
  return Time.now-@start_time
end

#elapsed_strObject



12
13
14
# File 'lib/timer.rb', line 12

def elapsed_str
  elapsed_str="[" + "%.0f" %(elapsed) + "s]"
end