Class: Nin::Presenter::ItemPresenter

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/nin/presenters/item_presenter.rb

Instance Method Summary collapse

Instance Method Details

#call(options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# 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