class Todo::Data::Item
Constants
- PROJECT
Public Class Methods
new(data)
click to toggle source
Calls superclass method
# File lib/todo/data/item.rb, line 8 def initialize(data) data[:tags] ||= {} super end
Public Instance Methods
done?()
click to toggle source
# File lib/todo/data/item.rb, line 21 def done? status == :done end
done_date()
click to toggle source
# File lib/todo/data/item.rb, line 29 def done_date tags[:done].to_s if tags[:done] end
due_date()
click to toggle source
# File lib/todo/data/item.rb, line 25 def due_date tags[:due].to_s if tags[:due] end
item?()
click to toggle source
# File lib/todo/data/item.rb, line 17 def item? !!status end
matches?(data)
click to toggle source
# File lib/todo/data/item.rb, line 41 def matches?(data) Matcher.new(self, data).matches? end
projects()
click to toggle source
# File lib/todo/data/item.rb, line 33 def projects @projects ||= text.scan(PROJECT).flatten end
toggle()
click to toggle source
# File lib/todo/data/item.rb, line 37 def toggle done? ? pend : done end
Private Instance Methods
done()
click to toggle source
# File lib/todo/data/item.rb, line 47 def done data[:status] = :done data[:tags][:done] = today end
pend()
click to toggle source
# File lib/todo/data/item.rb, line 52 def pend data[:status] = :pend data[:tags].delete(:done) end
today()
click to toggle source
# File lib/todo/data/item.rb, line 57 def today Time.now.strftime('%Y-%m-%d') end