module Tr3llo::View::Card::List

Public Instance Methods

render(list, cards) click to toggle source
# File lib/3llo/view/card/list.rb, line 7
        def render(list, cards)
          <<~TEMPLATE.strip
          #{Utils.paint("##{list.name}", "purple")}
          #{"=" * (list.name.length + 1)}
          #{render_cards(cards)}
          TEMPLATE
        end

Private Instance Methods

format_label(label) click to toggle source
# File lib/3llo/view/card/list.rb, line 47
def format_label(label)
  if label.color
    Utils.paint("##{label.name}", label.color)
  else
    "##{label.name}"
  end
end
render_cards(cards) click to toggle source
# File lib/3llo/view/card/list.rb, line 17
def render_cards(cards)
  if cards.any?
    cards
      .map do |card|
        key_tag = Utils.format_key_tag(card.id, card.shortcut)

        "#{key_tag} #{card.name}#{render_labels(card.labels)}#{render_members(card.members)}"
      end
      .join("\n")
  else
    "(No cards)"
  end
end
render_labels(labels) click to toggle source
# File lib/3llo/view/card/list.rb, line 31
def render_labels(labels)
  if labels.any?
    " [" + labels.map { |label| format_label(label) }.join(", ") + "]"
  else
    ""
  end
end
render_members(members) click to toggle source
# File lib/3llo/view/card/list.rb, line 39
def render_members(members)
  if members.any?
    " [" + members.map { |member| Utils.format_user(member) }.join(", ") + "]"
  else
    ""
  end
end