Ruby Time save and Restore (serialise)
One method to save a time and restore it correctly:
def get_time_run
## File Access based on
## http://rubylearning.com/satishtalim/read_write_files.html
if File.exists?('time.log')
File.open('time.log', 'r') do |f|
while line = f.gets
@last_run = Time.at(line.to_i)
end
end
end
#Nice default if anything above failed
@last_run ||= Time.at(0)
end
def set_run_time
if File.exists?("run.time")
File.delete("run.time")
end
File.open('time.log', 'w') do |f|
f.puts Time.now.to_i
end
end
Previously I had missed off the to_i but that meant when the time was loaded it was a string representation of it, quite a bit trickier to convert back into a time object.
Programming
Ruby
]