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