Sha256: 58634c7f2ac998bd8a96b7b4a352116ba3f63c1a5b4b664deb9b41332f6ef870
Contents?: true
Size: 1016 Bytes
Versions: 4
Compression:
Stored size: 1016 Bytes
Contents
module Tr3llo module Presenter module List class CardsPresenter def initialize(interface) @interface = interface end def print!(cards) interface.print_frame do cards.each { |card| present_card(card) } end end private attr_reader :interface def present_card(card) if card.has_key?(:labels) label_str = card[:labels].map { |label| colorize_label(label) }.join(", ") else label_str = '' end if card[:subscribed] subscribed_str = "[✓]" else subscribed_str = "[ ]" end interface.puts "#{subscribed_str} #{card[:id].labelize}] - #{card[:name]} (#{label_str})" end def colorize_label(label) if label[:color] "##{label[:name]}".paint(label[:color]) else "##{label[:name]}" end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
3llo-0.3.1 | lib/3llo/presenter/list/cards.rb |
3llo-0.3.0 | lib/3llo/presenter/list/cards.rb |
3llo-0.2.0 | lib/3llo/presenter/list/cards.rb |
3llo-0.1.12 | lib/3llo/presenter/list/cards.rb |