class Ruboty::Todo::List

Attributes

brain[R]

Public Class Methods

new(brain) click to toggle source
# File lib/ruboty/todo/list.rb, line 9
def initialize(brain)
  @brain = brain
end

Public Instance Methods

add(params) click to toggle source
# File lib/ruboty/todo/list.rb, line 17
def add(params)
  item = Item.new(next_id, params)
  items.push(item)
  item
end
find(id) click to toggle source
# File lib/ruboty/todo/list.rb, line 29
def find(id)
  items.find { |item| item.id == id }
end
gc() click to toggle source
# File lib/ruboty/todo/list.rb, line 23
def gc
  list[:items] = list[:items].reject { |item| item.deleted? || item.done? }
  reset_id if list[:items].empty?
  items
end
items() click to toggle source
# File lib/ruboty/todo/list.rb, line 13
def items
  list[:items]
end
renum() click to toggle source
# File lib/ruboty/todo/list.rb, line 33
def renum
  reset_id
  items.each { |item| item.id = next_id }
end

Private Instance Methods

list() click to toggle source
# File lib/ruboty/todo/list.rb, line 40
def list
  brain.data['todo_list'] ||= { last_id: 0, items: [] }
end
next_id() click to toggle source
# File lib/ruboty/todo/list.rb, line 44
def next_id
  list[:last_id] += 1
end
reset_id() click to toggle source
# File lib/ruboty/todo/list.rb, line 48
def reset_id
  list[:last_id] = 0
end