RecipeTrait::wrap()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 6
ccs 2
cts 2
cp 1
rs 10
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 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