Class: Model::TeamsSetup
- Inherits:
-
Object
- Object
- Model::TeamsSetup
- 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
-
#team_types ⇒ Object
readonly
Returns the value of attribute team_types.
Instance Method Summary collapse
- #create_teams(teams_args) ⇒ Object
-
#initialize(args) ⇒ TeamsSetup
constructor
A new instance of TeamsSetup.
- #valid_team_type?(type) ⇒ Boolean
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_types ⇒ Object (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
21 22 23 |
# File 'lib/tic_tac_toe/model/teams_setup.rb', line 21 def valid_team_type?(type) TEAM_TYPES.include?(type) end |