29 lines
971 B
Ruby
29 lines
971 B
Ruby
require 'fileutils'
|
|
|
|
class FileLogger
|
|
|
|
attr_accessor :pomodoro_log_file
|
|
|
|
def initialize log_file_path
|
|
@pomodoro_log_file = log_file_path
|
|
FileUtils.touch pomodoro_log_file
|
|
end
|
|
|
|
def notify_start task
|
|
add_separator_if_new_day
|
|
File.open(pomodoro_log_file, "a") { |file| file.puts "#{Time.now.strftime('%Y/%m/%d %H:%M')} Pomodoro nr. #{sprintf("% 2d", task.pomodori + 1)} started: #{task.text}" }
|
|
end
|
|
|
|
def notify_completed task
|
|
File.open(pomodoro_log_file, "a") { |file| file.puts "#{Time.now.strftime('%Y/%m/%d %H:%M')} Pomodoro nr. #{sprintf("% 2d", task.pomodori + 1)} completed: #{task.text}" }
|
|
end
|
|
|
|
private
|
|
|
|
def add_separator_if_new_day
|
|
return if File.zero?(pomodoro_log_file)
|
|
last_day = File.open(pomodoro_log_file, "r") { |file| file.readlines.last.split(" ")[0]}
|
|
today = Time.now.strftime('%Y/%m/%d')
|
|
File.open(pomodoro_log_file, "a") { |file| file.puts "\n-----------\n\n" } if last_day != today
|
|
end
|
|
end
|