class Pello::Actions::AddPomodoriToCard
Attributes
logger[R]
prompt[R]
Public Class Methods
new(prompt, logger = Pello::CardLogger.new)
click to toggle source
# File lib/pello/actions/add_pomodori_to_card.rb, line 8 def initialize(prompt, logger = Pello::CardLogger.new) @prompt = prompt @logger = logger end
Public Instance Methods
run(user, board_url, list_name)
click to toggle source
# File lib/pello/actions/add_pomodori_to_card.rb, line 13 def run(user, board_url, list_name) board = Pello::Inputs.choose_board user, board_url return unless board puts board.as_table continue = true while continue list = Pello::Inputs.choose_list board, list_name return unless list card = Pello::Inputs.choose_card list next unless card pomodori_before = card.extract_pomodori pomodori_to_add = prompt.ask('Pomodori', default: 1) new_name = name_with_added_pomodori(card, pomodori_to_add.to_i) puts "Updating card #{card.name}" puts "New title: #{new_name}" if prompt.yes?('Confirm?') card.name = new_name card.save logger.log user, card, "[#{Time.now}] #{card.extract_name} (#{pomodori_before} -> #{card.extract_pomodori})" puts('Done!') else puts 'Ok, bye!' nil end continue = prompt.yes?('Another one?') end end
Private Instance Methods
name_with_added_pomodori(card, pomodori_to_add)
click to toggle source
# File lib/pello/actions/add_pomodori_to_card.rb, line 50 def name_with_added_pomodori(card, pomodori_to_add) current_pomodori = card.extract_pomodori current_points = card.extract_points current_name = card.extract_name result = [] result << "(#{current_points})" unless current_points.zero? result << "#{current_pomodori + pomodori_to_add} 🍅" result << current_name result.join(' ') end