Test Failed
Push — develop ( 006c9f...4b441a )
by Paul
13:29
created

IntegrationShortcode::app()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
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