Test Failed
Push — develop ( 4db3e8...c07ba6 )
by Paul
08:09
created

IntegrationShortcode::shortcodeInstance()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
c 1
b 0
f 0
dl 0
loc 6
rs 10
cc 2
nc 2
nop 0
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Integrations;
4
5
use GeminiLabs\SiteReviews\Contracts\ShortcodeContract;
6
7
trait IntegrationShortcode
8
{
9
    private ShortcodeContract $shortcode_instance;
10
11
    abstract public static function shortcodeClass(): string;
12
13
    public function shortcodeInstance(): ShortcodeContract
14
    {
15
        if (!isset($this->shortcode_instance)) { // @phpstan-ignore-line
16
            $this->shortcode_instance = glsr(static::shortcodeClass());
17
        }
18
        return $this->shortcode_instance;
19
    }
20
}
21