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