ViewFactory::create()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
1
<?php
2
declare(strict_types=1);
3
4
namespace Shoot\Shoot\Tests\Fixtures;
5
6
use Shoot\Shoot\HasPresenterInterface;
7
use Shoot\Shoot\PresentationModel;
8
use Shoot\Shoot\View;
9
10
final class ViewFactory
11
{
12
    /**
13
     * @return View
14
     */
15
    public static function create(): View
16
    {
17
        return self::createWithCallback(function () {
18
            // noop
19
        });
20
    }
21
22
    /**
23
     * @param callable $callback
24
     *
25
     * @return View
26
     */
27
    public static function createWithCallback(callable $callback): View
28
    {
29
        $presentationModel = new class extends PresentationModel implements HasPresenterInterface
30
        {
31
            protected $variable = '';
32
33
            public function getPresenterName(): string
34
            {
35
                return 'MockPresenter';
36
            }
37
        };
38
39
        return new View('template.twig', $presentationModel, $callback);
40
    }
41
}
42