class LoveLetterApplication::Models::Effects::RoundComplete

Public Instance Methods

call(game_board:, victorious_player_id:) click to toggle source
# File lib/love_letter_application/models/effects/round_complete.rb, line 10
def call(game_board:, victorious_player_id:)
  victorious_player_id = ::Types::Array::of(::Types::Strict::Integer)
    .call(victorious_player_id)
  next_player_id = game_board.players
    .select{|player| victorious_player_id.include?(player.id.to_i)}
    .max{|p, q| p.id.to_i <=> q.id.to_i}
    .id

  LoveLetterApplication::Models::GameBoard::new(
    players: game_board.players,
    draw_pile: game_board.draw_pile,
    set_aside_card: game_board.set_aside_card,
    current_player_id: next_player_id,
    game_state: LoveLetterApplication::Types::GameStateEnum.call('round_complete'))
end