Krauza/webservice

View on GitHub
src/Core/Factory/CardFactory.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace Krauza\Core\Factory;

use Krauza\Core\Entity\Card;
use Krauza\Core\Policy\IdPolicy;
use Krauza\Core\ValueObject\CardWord;

class CardFactory
{
    public static function createCard(array $data, IdPolicy $idPolicy): Card
    {
        $obverse = new CardWord($data['obverse']);
        $reverse = new CardWord($data['reverse']);

        $card = new Card($obverse, $reverse);
        $card->setId($idPolicy->generate());

        return $card;
    }
}