Class: Todo::Data::Item
- Inherits:
-
Struct
- Object
- Struct
- Todo::Data::Item
- Defined in:
- lib/todo/data/item.rb
Constant Summary collapse
- PROJECT =
/\s*\+([\w\-]+)/
Instance Attribute Summary collapse
-
#data ⇒ Object
Returns the value of attribute data.
Instance Method Summary collapse
- #done? ⇒ Boolean
- #done_date ⇒ Object
- #due_date ⇒ Object
-
#initialize(data) ⇒ Item
constructor
A new instance of Item.
- #matches?(data) ⇒ Boolean
- #projects ⇒ Object
- #toggle ⇒ Object
Constructor Details
#initialize(data) ⇒ Item
Returns a new instance of Item.
8 9 10 11 |
# File 'lib/todo/data/item.rb', line 8 def initialize(data) data[:tags] ||= {} super end |
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data
5 6 7 |
# File 'lib/todo/data/item.rb', line 5 def data @data end |
Instance Method Details
#done? ⇒ Boolean
17 18 19 |
# File 'lib/todo/data/item.rb', line 17 def done? status == :done end |
#done_date ⇒ Object
25 26 27 |
# File 'lib/todo/data/item.rb', line 25 def done_date [:done].to_s if [:done] end |
#due_date ⇒ Object
21 22 23 |
# File 'lib/todo/data/item.rb', line 21 def due_date [:due].to_s if [:due] end |
#matches?(data) ⇒ Boolean
37 38 39 |
# File 'lib/todo/data/item.rb', line 37 def matches?(data) Matcher.new(self, data).matches? end |
#projects ⇒ Object
29 30 31 |
# File 'lib/todo/data/item.rb', line 29 def projects @projects ||= text.scan(PROJECT).flatten end |
#toggle ⇒ Object
33 34 35 |
# File 'lib/todo/data/item.rb', line 33 def toggle done? ? pend : done end |