BuilderRecipe   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
eloc 6
c 0
b 0
f 0
dl 0
loc 20
ccs 6
cts 6
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A resolve() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Lit\Air\Recipe;
6
7
use Lit\Air\Factory;
8
use Lit\Air\Psr\Container;
9
10
/**
11
 * Calls a builder method when resolved. The "builder method" will be invoked by $factory->invoke
12
 */
13
class BuilderRecipe extends AbstractRecipe
14
{
15
    /**
16
     * @var callable
17
     */
18
    protected $builder;
19
    /**
20
     * @var array
21
     */
22
    protected $extra;
23
24 4
    public function __construct(callable $builder, array $extra = [])
25
    {
26 4
        $this->builder = $builder;
27 4
        $this->extra = $extra;
28 4
    }
29
30 4
    public function resolve(Container $container)
31
    {
32 4
        return Factory::of($container)->invoke($this->builder, $this->extra);
33
    }
34
}
35