| Total Complexity | 6 |
| Total Lines | 35 |
| Duplicated Lines | 0 % |
| Coverage | 0% |
| Changes | 0 | ||
| 1 | <?php |
||
| 9 | class ListBadgesEvent extends Event |
||
| 10 | { |
||
| 11 | protected $badges; |
||
| 12 | |||
| 13 | public function __construct() |
||
| 14 | { |
||
| 15 | $this->badges = array(); |
||
| 16 | } |
||
| 17 | |||
| 18 | /** |
||
| 19 | * |
||
| 20 | * @param BadgeEvaluatorInterface $evaluator |
||
| 21 | * @return ListBadgesEvent |
||
| 22 | * @throws BadgesNameCollisionException |
||
| 23 | */ |
||
| 24 | public function registerBadges(BadgeEvaluatorInterface $evaluator) |
||
| 25 | { |
||
| 26 | $namespace = $evaluator->getName(); |
||
| 27 | if (!array_key_exists($namespace, $this->badges)) { |
||
| 28 | $this->badges[$namespace] = $evaluator->getAvailableBadges(); |
||
| 29 | } else { |
||
| 30 | foreach ($evaluator->getAvailableBadges() as $name => $badge) { |
||
| 31 | if (array_key_exists($name, $this->badges[$namespace])) { |
||
| 32 | throw new BadgesNameCollisionException("There is another badge named '{$namespace}.{$name}'."); |
||
| 33 | } |
||
| 34 | $this->badges[$namespace][$name] = $badge; |
||
| 35 | } |
||
| 36 | } |
||
| 37 | |||
| 38 | return $this; |
||
| 39 | } |
||
| 40 | |||
| 41 | public function getBadges() |
||
| 44 | } |
||
| 45 | } |
||
| 46 |