Class: Model::TeamsSetup

Inherits:
Object
  • Object
show all
Defined in:
lib/tic_tac_toe/model/teams_setup.rb

Constant Summary collapse

HUMAN_TYPE =
1
COMPUTER_TYPE =
2
TEAM_TYPES =
[HUMAN_TYPE, COMPUTER_TYPE].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ TeamsSetup

Returns a new instance of TeamsSetup.



9
10
11
12
13
14
15
# File 'lib/tic_tac_toe/model/teams_setup.rb', line 9

def initialize(args)
  @team_klass = args[:team_klass]
  @piece_klass = args[:piece_klass]
  @move_klass = args[:move_klass]
  @move_strategy_klass = args[:move_strategy_klass]
  @team_types = { "Player": HUMAN_TYPE, "Computer": COMPUTER_TYPE }
end

Instance Attribute Details

#team_typesObject (readonly)

Returns the value of attribute team_types.



7
8
9
# File 'lib/tic_tac_toe/model/teams_setup.rb', line 7

def team_types
  @team_types
end

Instance Method Details

#create_teams(teams_args) ⇒ Object



17
18
19
# File 'lib/tic_tac_toe/model/teams_setup.rb', line 17

def create_teams(teams_args)
  teams_args.map { |args| create_team(args) }
end

#valid_team_type?(type) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/tic_tac_toe/model/teams_setup.rb', line 21

def valid_team_type?(type)
  TEAM_TYPES.include?(type)
end