class Nin::Item
Attributes
archived[RW]
completed[RW]
date[RW]
desc[RW]
id[RW]
uid[RW]
Public Class Methods
new(id, desc, date = Date.today, tags = [], uid = nil, completed = false, archived = false, formatter = Presenter::ItemPresenter)
click to toggle source
# File lib/nin/item.rb, line 5 def initialize(id, desc, date = Date.today, tags = [], uid = nil, completed = false, archived = false, formatter = Presenter::ItemPresenter) @id = id @desc = desc @date = Date.parse_or_return(date) || Date.today @tags = tags.ensure_array @uid = uid @completed = completed @archived = archived @formatter = formatter.new(self) end
Public Instance Methods
archived?()
click to toggle source
# File lib/nin/item.rb, line 43 def archived? @archived end
completed?()
click to toggle source
# File lib/nin/item.rb, line 39 def completed? @completed end
edit(desc, date = nil, tags = [], completed = nil)
click to toggle source
# File lib/nin/item.rb, line 24 def edit(desc, date = nil, tags = [], completed = nil) self.desc = desc self.date = Date.parse_or_return(date) unless date.nil? self.tags.concat(tags.ensure_array).uniq! self.completed = completed.nil? ? self.completed : completed end
past?()
click to toggle source
# File lib/nin/item.rb, line 47 def past? @date < Date.today end
to_h()
click to toggle source
# File lib/nin/item.rb, line 59 def to_h { 'id' => id, 'desc' => desc, 'tags' => tags, 'completed' => completed, 'archived' => archived, 'uid' => uid } end
to_s()
click to toggle source
# File lib/nin/item.rb, line 55 def to_s @formatter.call end
today?()
click to toggle source
# File lib/nin/item.rb, line 51 def today? @date == Date.today end
toggle_archived!()
click to toggle source
# File lib/nin/item.rb, line 35 def toggle_archived! @archived = !@archived end
toggle_completed!()
click to toggle source
# File lib/nin/item.rb, line 31 def toggle_completed! @completed = !@completed end