Test Failed
Push — develop ( 006c9f...4b441a )
by Paul
13:29
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\PluginContract;
6
use GeminiLabs\SiteReviews\Contracts\ShortcodeContract;
7
8
trait IntegrationShortcode
9
{
10
    private ShortcodeContract $shortcode_instance;
11
12
    public function app(): PluginContract
13
    {
14
        return glsr();
15
    }
16
17
    abstract public static function shortcodeClass(): string;
18
19
    public function shortcodeInstance(): ShortcodeContract
20
    {
21
        if (!isset($this->shortcode_instance)) { // @phpstan-ignore-line
22
            $this->shortcode_instance = glsr(static::shortcodeClass());
23
        }
24
        return $this->shortcode_instance;
25
    }
26
}
27