class LoveLetterApplication::Results::EliminatePlayer
Public Instance Methods
call(target_player_id:, game_board:, change_orders:)
click to toggle source
# File lib/love_letter_application/results/eliminate_player.rb, line 14 def call(target_player_id:, game_board:, change_orders:) change_orders = change_orders .push(get_eliminated_player_node.(player_id: target_player_id)) game_board = eliminate_player_from_game_board.( game_board: game_board, player_id: target_player_id) if one_player_remaining?(game_board) process_round_complete_by_elimination.( game_board: game_board, change_orders: change_orders, player: game_board .players .find(&:active?)) else process_next_player_turn.(game_board: game_board, change_orders: change_orders) end end
Private Instance Methods
one_player_remaining?(game_board)
click to toggle source
# File lib/love_letter_application/results/eliminate_player.rb, line 33 def one_player_remaining?(game_board) game_board .players .select(&:active?) .length .eql?(1) end