Passed
Push — develop ( 7fa65f...4875bb )
by Paul
13:31
created

SiteReviewsSummaryBlock   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
wmc 5
eloc 13
c 2
b 0
f 1
dl 0
loc 27
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A shortcodeClass() 0 3 1
A blockStyles() 0 11 2
A blockClasses() 0 7 2
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Integrations\Gutenberg\Blocks;
4
5
use GeminiLabs\SiteReviews\Shortcodes\SiteReviewsSummaryShortcode;
6
7
class SiteReviewsSummaryBlock extends Block
8
{
9
    public static function shortcodeClass(): string
10
    {
11
        return SiteReviewsSummaryShortcode::class;
12
    }
13
14
    protected function blockClasses(array $attributes): array
15
    {
16
        $classes = [];
17
        if (!empty($attributes['styleAlign'])) {
18
            $classes[] = "items-justified-{$attributes['styleAlign']}";
19
        }
20
        return $classes;
21
    }
22
23
    protected function blockStyles(array $attributes): array
24
    {
25
        $styles = [];
26
        if (!empty($attributes['styleAlign'])) {
27
            $alignMap = [
28
                'left' => 'start',
29
                'right' => 'end',
30
            ];
31
            $styles['--glsr-summary-align'] = $alignMap[$attributes['styleAlign']] ?? 'center';
32
        }
33
        return $styles;
34
    }
35
}
36