Class: Turbine::Timer

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

Constant Summary collapse

MissingTimestampError =
Class.new(StandardError)

Instance Method Summary collapse

Constructor Details

#initialize(dir = Turbine::Application.config_dir) ⇒ Timer

Returns a new instance of Timer.



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

def initialize(dir=Turbine::Application.config_dir)
  @file = "#{dir}/timestamp"
end

Instance Method Details

#clear_timestampObject



26
27
28
# File 'lib/turbine/timer.rb', line 26

def clear_timestamp
  FileUtils.rm_f(@file)
end

#elapsed_timeObject



22
23
24
# File 'lib/turbine/timer.rb', line 22

def elapsed_time
  ((Time.now.utc - timestamp.utc) / 60.0 / 60.0).round(Turbine::PRECISION)
end

#running?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/turbine/timer.rb', line 30

def running?
  File.exist?(@file)
end

#timestampObject



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

def timestamp
  raise MissingTimestampError unless running?
  Time.parse(File.read(@file)).localtime
end

#write_timestampObject



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

def write_timestamp
  File.open(@file, "w") { |f| f << Time.now.utc.to_s }
end