class Todo::Format

Constants

FORMATS

Public Instance Methods

apply() click to toggle source
# File lib/todo/format.rb, line 14
def apply
  list.items.map { |item| format(item) }
end

Private Instance Methods

cols() click to toggle source
# File lib/todo/format.rb, line 50
def cols
  format = opts[:format] || :full
  FORMATS[format.to_sym] || parse_format(opts[:format])
end
format(item) click to toggle source
# File lib/todo/format.rb, line 20
def format(item)
  cols.map { |col| format_col(col, item) }.compact.join(' ')
end
format_col(col, item) click to toggle source
# File lib/todo/format.rb, line 24
def format_col(col, item)
  value = item.send(col)
  value = list.next_id if item.item? && col == :id && value.nil?
  send(:"format_#{col}", value) if value
end
format_done_date(date) click to toggle source
# File lib/todo/format.rb, line 42
def format_done_date(date)
  date
end
format_id(id) click to toggle source
# File lib/todo/format.rb, line 34
def format_id(id)
  "[#{id}]"
end
format_status(status) click to toggle source
# File lib/todo/format.rb, line 30
def format_status(status)
  STATUSES[status]
end
format_tags(tags) click to toggle source
# File lib/todo/format.rb, line 46
def format_tags(tags)
  to_pairs(tags, ':') if tags.any?
end
format_text(text) click to toggle source
# File lib/todo/format.rb, line 38
def format_text(text)
  text
end
parse_format(format) click to toggle source
# File lib/todo/format.rb, line 55
def parse_format(format)
  Array(format).join(':').split(/[:,]/).map(&:to_sym)
end