class Posto::List

Public Class Methods

add(todos, todo) click to toggle source
# File lib/posto/list.rb, line 41
def add(todos, todo)
  todos + [Todo.create(todo)]
end
choose_todo_lines(lines) click to toggle source
# File lib/posto/list.rb, line 12
def choose_todo_lines(lines)
  lines.select { |todo| Todo.todo?(todo) }
end
delete(todos, n)
Alias for: done
do(todos, n)
Alias for: top
do_bottom(todos) click to toggle source
# File lib/posto/list.rb, line 58
def do_bottom(todos)
  top(todos, todos.size)
end
done(todos, n) click to toggle source
# File lib/posto/list.rb, line 28
def done(todos, n)
  unsort(todos, n)[0..-2]
end
Also aliased as: delete
lookup(todos, n) click to toggle source
# File lib/posto/list.rb, line 62
def lookup(todos, n)
  Posto::Todo.hide_markdown(todos[n.to_i - 1])
end
number_todos(todos) click to toggle source
# File lib/posto/list.rb, line 8
def number_todos(todos)
  todos.each_with_index.map { |todo, i| Posto::Todo.number(todo, i + 1) }
end
numbered_group(todos) click to toggle source
# File lib/posto/list.rb, line 24
def numbered_group(todos)
  sort todos.select { |todo| Todo.numbered?(todo) }
end
quick(todos, n) click to toggle source
# File lib/posto/list.rb, line 45
def quick(todos, n)
  todos[n -1] = Todo.mark_quick(todos[n - 1])
  todos
end
resort(todos) click to toggle source
# File lib/posto/list.rb, line 37
def resort(todos)
  sort todos.map { |todo| Todo.star(todo) }
end
sort(todos) click to toggle source
# File lib/posto/list.rb, line 16
def sort(todos)
  number_todos(todos.sort { |x, y| Todo.compare_sorted_todos(x, y) or HumanComparison.ask_human(x, y) })
end
starred_group(todos) click to toggle source
# File lib/posto/list.rb, line 20
def starred_group(todos)
  todos.select { |todo| Todo.starred?(todo) }
end
top(todos, n) click to toggle source
# File lib/posto/list.rb, line 50
def top(todos, n)
  starred_group = starred_group(todos.reject_at(n - 1))
  numbered_group = numbered_group(todos.reject_at(n - 1))
  array = [todos[n - 1]]
  number_todos(array + numbered_group) + starred_group
end
Also aliased as: do
unsort(todos, n) click to toggle source
# File lib/posto/list.rb, line 33
def unsort(todos, n)
  numbered_group(todos.reject_at(n - 1)) + starred_group(todos.reject_at(n - 1)) + [Todo.star(todos[n - 1])]
end