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

Module::module_classnames()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 2
Bugs 0 Features 1
Metric Value
eloc 6
c 2
b 0
f 1
dl 0
loc 9
ccs 0
cts 8
cp 0
rs 10
cc 3
nc 4
nop 1
crap 12
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