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

IntegrationShortcode   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A shortcodeInstance() 0 6 2
A app() 0 3 1
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