Test Failed
Push — master ( fdb79d...2e4512 )
by Chris
19:35
created

MustBeInitiatedTrait   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 6
dl 0
loc 18
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A maybeInit() 0 5 2
A isInitiated() 0 3 1
1
<?php
2
3
namespace Leonidas\Library\System\Traits;
4
5
trait MustBeInitiatedTrait
6
{
7
    protected bool $isInitiated = false;
8
9
    protected function maybeInit()
10
    {
11
        if (!$this->isInitiated()) {
12
            $this->initiate();
13
            $this->isInitiated = true;
14
        }
15
    }
16
17
    protected function isInitiated(): bool
18
    {
19
        return $this->isInitiated;
20
    }
21
22
    abstract protected function initiate();
23
}
24