Sha256: be3ac4c42f0cc53d0f35e529030b8ae96746be4ba6c78168346f5c79fa0d2256

Contents?: true

Size: 668 Bytes

Versions: 3

Compression:

Stored size: 668 Bytes

Contents

# frozen string_literal: true

require 'dry-struct'
require 'spy_alley_application/types/array_of_players'
require 'spy_alley_application/types/array_of_free_gifts'
require 'spy_alley_application/types/array_of_move_cards'
require 'spy_alley_application/types/game_state'

module SpyAlleyApplication
  module Models
    class GameBoard < Dry::Struct
      attribute :players, Types::ArrayOfPlayers
      attribute :move_card_pile, Types::ArrayOfMoveCards
      attribute :free_gift_pile, Types::ArrayOfFreeGifts
      attribute :game_state, Types::GameState

      def current_player
        players.find{|p| p.seat.eql?(game_state.seat)}
      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.rb
spy_alley_application-0.3.1 lib/spy_alley_application/models/game_board.rb
spy_alley_application-0.3.0 lib/spy_alley_application/models/game_board.rb