FlashMessageService::add()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the Explicit Architecture POC,
7
 * which is created on top of the Symfony Demo application.
8
 *
9
 * (c) Herberto Graça <[email protected]>
10
 *
11
 * For the full copyright and license information, please view the LICENSE
12
 * file that was distributed with this source code.
13
 */
14
15
namespace Acme\App\Presentation\Web\Infrastructure\FlashMessage\Symfony;
16
17
use Acme\App\Presentation\Web\Core\Port\FlashMessage\FlashMessageServiceInterface;
18
use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface;
19
20
final class FlashMessageService implements FlashMessageServiceInterface
21
{
22
    /**
23
     * @var FlashBagInterface
24
     */
25
    private $flashBag;
26
27
    public function __construct(FlashBagInterface $flashBag)
28
    {
29
        $this->flashBag = $flashBag;
30
    }
31
32
    public function success(string $message): void
33
    {
34
        $this->add(self::SUCCESS, $message);
35
    }
36
37
    public function info(string $message): void
38
    {
39
        $this->add(self::INFO, $message);
40
    }
41
42
    public function warning(string $message): void
43
    {
44
        $this->add(self::WARNING, $message);
45
    }
46
47
    public function danger(string $message): void
48
    {
49
        $this->add(self::DANGER, $message);
50
    }
51
52
    private function add(string $type, string $message): void
53
    {
54
        $this->flashBag->add($type, $message);
55
    }
56
}
57