class Todo::Cli::Archive
Public Instance Methods
run()
click to toggle source
# File lib/todo/cli/archive.rb, line 16 def run selected = list.select(status: :done, before: before) archive.write(format(selected)) io.write(format(list.reject { |item| selected.items.include?(item) })) end
Private Instance Methods
archive()
click to toggle source
# File lib/todo/cli/archive.rb, line 28 def archive @archive ||= Src::File.new(archive_path, mode: 'a+') end
archive_path()
click to toggle source
# File lib/todo/cli/archive.rb, line 32 def archive_path opts[:archive] || File.expand_path('../archive.txt', opts[:file]) end
before()
click to toggle source
# File lib/todo/cli/archive.rb, line 36 def before opts[:before] || Support::Date.new.format(:two_weeks_ago) end
list()
click to toggle source
# File lib/todo/cli/archive.rb, line 24 def list @list ||= Data::List.parse(io.read) end