Skip to content

Commit

Permalink
Merge pull request #3 from GuilleGF/ExcludeMultiplePlayers
Browse files Browse the repository at this point in the history
Add exclusive multiple players
  • Loading branch information
GuilleGF authored Nov 23, 2016
2 parents ec639f1 + a933620 commit 3272c5b
Show file tree
Hide file tree
Showing 9 changed files with 344 additions and 114 deletions.
34 changes: 29 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
[![License](https://poser.pugx.org/guillegf/secret-santa/license)](https://packagist.org/packages/guillegf/secret-santa)

* Repository: https://github.com/GuilleGF/SecretSantaPHP
* Version: 1.1.1
* Version: 1.2.0
* License: MIT, see [LICENSE](LICENSE)

## Description
Expand All @@ -31,29 +31,53 @@ documentation.
To add this dependency using the command, run the following from within your
project directory:
```
composer require guillegf/secret-santa "~1.1"
composer require guillegf/secret-santa "~1.2"
```

Alternatively, add the dependency directly to your `composer.json` file:
```json
"require": {
"guillegf/secret-santa": "~1.1"
"guillegf/secret-santa": "~1.2"
}
```
## Usage

In this example in total we add 10 players, 2 singles players, 2 couples (exclusive) and 4 exclusive players.

**The couples and exclusive players never match together.**

```php
<?php
$secretSanta = new SecretSanta();
$secretSanta->addPlayer('Player', 'player@email.com')
$secretSanta->addPlayer('Player1', 'player1@email.com')
->addPlayer('Player2', '[email protected]')
->addCouple('Player3', '[email protected]', 'Couple3', '[email protected]')
->addCouple('Player4', '[email protected]', 'Couple4', '[email protected]');
->addCouple('Player4', '[email protected]', 'Couple4', '[email protected]')
->addExclusivePlayers(
['Player5', '[email protected]'],
['Player6', '[email protected]'],
['Player7', '[email protected]'],
['Player8', '[email protected]']
);

foreach ($secretSanta->play() as $player) {
echo ("{$player->name()} ({$player->email()}): {$player->secretSanta()->name()}\n");
}
```
The above example will output:

```php
Player1 ([email protected]): Player5
Player2 ([email protected]): Player7
Player3 ([email protected]): Player2
Couple3 ([email protected]): Player8
Player4 ([email protected]): Player3
Couple4 ([email protected]): Player6
Player5 ([email protected]): Player4
Player6 ([email protected]): Player1
Player7 ([email protected]): Couple3
Player8 ([email protected]): Couple4
```

## License

Expand Down
Loading

0 comments on commit 3272c5b

Please sign in to comment.