Sha256: 5c2cf6055c73123702fcbabb4570b727cd6936f28512073cf3da270962abfcfc

Contents?: true

Size: 549 Bytes

Versions: 3

Compression:

Stored size: 549 Bytes

Contents

# frozen string_literal: true

require 'dry-struct'
require 'spy_alley_application/types/game_board'

module SpyAlleyApplication
  module Models
    class GameBoard < Dry::Struct
      class MoveOptions
        def call(game_board:, options:)
          game_state = {
            name: 'move_option',
            seat: game_board.game_state.seat,
            options: options
          }
          SpyAlleyApplication::Types::GameBoard.call(
            game_board.to_h.tap{|g| g[:game_state] = game_state})
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spy_alley_application-0.3.2 lib/spy_alley_application/models/game_board/move_options.rb
spy_alley_application-0.3.1 lib/spy_alley_application/models/game_board/move_options.rb
spy_alley_application-0.3.0 lib/spy_alley_application/models/game_board/move_options.rb