class Nin::Presenter::ItemPresenter
Public Instance Methods
call(options = {})
click to toggle source
# File lib/nin/presenters/item_presenter.rb, line 4 def call(options = {}) _id, _completed, _date, _desc, _tags = id, decorate_completed, decorate_date, decorate_desc, decorate_tags separating_spaces = options.fetch(:separating_spaces, 2) id_spaces = options.fetch(:longest_id, 1) + separating_spaces completed_spaces = _completed.length + separating_spaces date_spaces = _date.length + (options.fetch(:longest_date, 11) - _date.remove_color.length) + separating_spaces sprintf("%-#{id_spaces}d %-#{completed_spaces}s %-#{date_spaces}s %s %s", _id, _completed, _date, _desc, _tags) end
Private Instance Methods
decorate_completed()
click to toggle source
# File lib/nin/presenters/item_presenter.rb, line 28 def decorate_completed if self.completed? '[x]'.green else '[ ]' end end
decorate_date()
click to toggle source
# File lib/nin/presenters/item_presenter.rb, line 36 def decorate_date date_in_words = '@' << self.date.humanize if self.past? date_in_words.magenta elsif self.today? date_in_words.bold.cyan else date_in_words.cyan end end
decorate_desc()
click to toggle source
# File lib/nin/presenters/item_presenter.rb, line 18 def decorate_desc if self.archived? self.desc.yellow elsif self.completed? self.desc.white else self.desc end end