Passed
Push — develop ( 619418...263289 )
by Paul
15:51
created

Module   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 4
Bugs 0 Features 2
Metric Value
wmc 4
eloc 17
c 4
b 0
f 2
dl 0
loc 35
ccs 0
cts 22
cp 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A blockName() 0 3 1
A shortcodeInstance() 0 7 2
A module_styles() 0 13 1
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Integrations\Divi\Modules\SiteReviews;
4
5
use ET\Builder\FrontEnd\Module\Style;
6
use GeminiLabs\SiteReviews\Contracts\ShortcodeContract;
7
use GeminiLabs\SiteReviews\Integrations\Divi\Defaults\ModuleClassnamesDefaults;
8
use GeminiLabs\SiteReviews\Integrations\Divi\Defaults\ModuleStylesDefaults;
9
use GeminiLabs\SiteReviews\Integrations\Divi\Modules\DiviModule;
10
use GeminiLabs\SiteReviews\Shortcodes\SiteReviewsShortcode;
11
12
class Module extends DiviModule
13
{
14
    public static function blockName(): string
15
    {
16
        return 'glsr-divi/reviews';
17
    }
18
19
    /**
20
     * This method is equivalent to "module-styles.tsx".
21
     */
22
    public static function module_styles(array $args): void
23
    {
24
        parent::module_styles($args);
25
        $args = glsr(ModuleStylesDefaults::class)->merge($args);
26
        $elements = $args['elements'];
27
        Style::add([
28
            'id' => $args['id'],
29
            'name' => $args['name'],
30
            'orderIndex' => $args['orderIndex'],
31
            'storeInstance' => $args['storeInstance'],
32
            'styles' => [
33
                $elements->style([
34
                    'attrName' => 'button',
35
                ]),
36
            ],
37
        ]);
38
    }
39
40
    public static function shortcodeInstance(): ShortcodeContract
41
    {
42
        static $shortcode;
43
        if (empty($shortcode)) {
44
            $shortcode = glsr(SiteReviewsShortcode::class);
45
        }
46
        return $shortcode;
47
    }
48
}
49