Sha256: 516294caec949138c8509eebd84c9d4eafe85a4c16a15bbfd25d87751d69d455
Contents?: true
Size: 745 Bytes
Versions: 3
Compression:
Stored size: 745 Bytes
Contents
# frozen_string_literal: true require 'dry-auto_inject' require 'spy_alley_application/injection_container' require 'spy_alley_application/types/game_board' module SpyAlleyApplication class ExecuteAction include Dry::AutoInject(SpyAlleyApplication::InjectionContainer)[ :change_orders_initializer, :build_validator] def call(action_hash:, game_board:, user:, last_action_id:) game_board = SpyAlleyApplication::Types::GameBoard.call(game_board.to_h) validate = build_validator.(game_board: game_board, last_action_id: last_action_id) execute_action = validate.(action_hash: action_hash, user: user) execute_action.(game_board: game_board, change_orders: change_orders_initializer.()) end end end
Version data entries
3 entries across 3 versions & 1 rubygems