class LoveLetterApplication::Actions::PlayCard
Public Instance Methods
call(**args)
click to toggle source
# File lib/love_letter_application/actions/play_card.rb, line 12 def call(**args) card_id = args[:card_id].to_i change_orders = args[:change_orders] game_board = args[:game_board] player_id = game_board.current_player_id.to_i change_orders = change_orders.push( get_played_card_node.( player_id: player_id, card_id: card_id)) game_board = get_game_board_with_played_card.( game_board: game_board, player_id: player_id, card_id: card_id) new_args = args.reject{|k, v| [:change_orders, :game_board].include?(k)} new_args[:change_orders] = change_orders new_args[:game_board] = game_board resolve_card_action_for[card_id].(new_args) end