RecipeTrait   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
eloc 3
dl 0
loc 16
ccs 4
cts 4
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A wrap() 0 6 1
A singleton() 0 6 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Lit\Air\Recipe;
6
7
use Lit\Air\Recipe\Decorator\CallbackDecorator;
8
use Lit\Air\Recipe\Decorator\SingletonDecorator;
9
10
/**
11
 * RecipeTrait provides some wrapping method to a recipe object.
12
 */
13
trait RecipeTrait
14
{
15 2
    public function singleton(): RecipeInterface
16
    {
17
        /**
18
         * @var RecipeInterface $this
19
         */
20 2
        return SingletonDecorator::decorate($this);
21
    }
22
23 1
    public function wrap(callable $callable): RecipeInterface
24
    {
25
        /**
26
         * @var RecipeInterface $this
27
         */
28 1
        return CallbackDecorator::decorate($this)->setOption($callable);
29
    }
30
}
31