class LoveLetterApplication::Models::Effects::MakePlayerNotTargetable
Public Instance Methods
call(game_board:, player_id:)
click to toggle source
# File lib/love_letter_application/models/effects/make_player_not_targetable.rb, line 11 def call(game_board:, player_id:) player_replacement = get_replacement(game_board.players, player_id) players = game_board .players .reject{|player| player.id.to_i.eql?(player_id.to_i)} .push(player_replacement) LoveLetterApplication::Models::GameBoard::new( players: players, draw_pile: game_board.draw_pile, set_aside_card: game_board.set_aside_card, current_player_id: game_board.current_player_id, game_state: game_board.game_state) end
Private Instance Methods
get_replacement(players, player_id)
click to toggle source
# File lib/love_letter_application/models/effects/make_player_not_targetable.rb, line 28 def get_replacement(players, player_id) modified_player = players .find{|player| player.id.to_i.eql?(player_id.to_i)} LoveLetterApplication::Models::Player::new( id: modified_player.id.to_i, seat: modified_player.id.to_i, played_cards: modified_player.played_cards, hand: modified_player.hand, active?: modified_player.active?, targetable?: false) end