MailerFactory::__invoke()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 16
ccs 13
cts 13
cp 1
rs 9.8666
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Application\Service;
6
7
use Application\Model\Message;
8
use Doctrine\ORM\EntityManager;
9
use Ecodev\Felix\Service\Mailer;
10
use Psr\Container\ContainerInterface;
11
use Symfony\Component\Mailer\Transport\TransportInterface;
12
13
class MailerFactory
14
{
15
    /**
16
     * Return a configured mailer.
17
     */
18 1
    public function __invoke(ContainerInterface $container): Mailer
19
    {
20 1
        $entityManager = $container->get(EntityManager::class);
21 1
        $transport = $container->get(TransportInterface::class);
22 1
        $config = $container->get('config');
23
24 1
        $messageRepository = $entityManager->getRepository(Message::class);
25
26 1
        return new Mailer(
27 1
            $entityManager,
28 1
            $messageRepository,
29 1
            $transport,
30 1
            $config['phpPath'],
31 1
            $config['email']['toOverride'] ?? null,
32 1
            $config['email']['from'],
33 1
            'Artisans',
34 1
        );
35
    }
36
}
37