lib/bullit/file.rb in bullit-0.1.2 vs lib/bullit/file.rb in bullit-0.1.3
- old
+ new
@@ -3,11 +3,11 @@
require 'tty-prompt'
require 'pry'
require 'bullit/task'
-module BulletJournal
+module Bullit
class File
def self.generate_today_file(loud)
today_file.dirname.mkpath unless today_file.dirname.exist?
unless today_file.exist?
@@ -26,19 +26,19 @@
end
end
def self.incomplete_tasks_from_yesterday(loud)
if yesterday_file.exist?
- file = YAML.load(yesterday_file.read)
+ file = yesterday_file_contents
return {} if file[:tasks].empty?
file[:tasks].each do |t|
unless t[:complete] == true
action = TTY::Prompt.new.select("\nWould you like to complete\n\n\t'#{t[:text]}'\n\nor migrate it to today's entry?\n", %w(complete migrate))
if action == 'complete'
- t[:complete] = true
+ t = t.to_task.mark_as_complete
end
end
end
file[:tasks] = file[:tasks].reject{ |t| t[:complete] == true }
@@ -56,27 +56,39 @@
def self.today_tasks
YAML.load(today_file.read)[:tasks]
end
def self.add_task(text)
- file = YAML.load(today_file.read)
+ file = today_file_contents
if file[:tasks] == {}
file[:tasks] = [ Task.new(text: text).to_h ]
else
file[:tasks] = today_tasks << Task.new(text: text).to_h
end
today_file.write(YAML.dump(file))
end
+ def self.delete_task(task_number)
+ file = today_file_contents
+
+ unless file[:tasks].nil?
+ unless file[:tasks][task_number].nil?
+ file[:tasks].delete_at(task_number)
+ end
+ end
+
+ today_file.write(YAML.dump(file))
+ end
+
def self.complete_task(task_number)
- file = YAML.load(today_file.read)
+ file = today_file_contents
unless file[:tasks].nil?
unless file[:tasks][task_number].nil?
- file[:tasks][task_number] = Task.new(file[:tasks][task_number].to_h).mark_as_complete
+ file[:tasks][task_number] = file[:tasks][task_number].to_task.mark_as_complete
today_file.write(YAML.dump(file))
end
end
end
@@ -88,10 +100,14 @@
weekday = t.strftime "%u"
Pathname("#{Dir.home}/.bullit/journal/#{year}/#{week}/#{weekday}.yaml")
end
+ def self.today_file_contents
+ YAML.load(today_file.read)
+ end
+
def self.yesterday_file
t = Time.now
year = t.strftime "%Y"
week = t.strftime "%W"
@@ -101,8 +117,12 @@
if weekday > 1
Pathname("#{Dir.home}/.bullit/journal/#{year}/#{week}/#{(weekday - 1).to_s}.yaml")
else
Pathname("#{Dir.home}/.bullit/journal/#{year}/#{week-1}/7.yaml")
end
+ end
+
+ def self.yesterday_file_contents
+ YAML.load(yesterday_file.read)
end
end
end
\ No newline at end of file