Ipsum   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
eloc 11
dl 0
loc 49
ccs 7
cts 7
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A alias() 0 8 2
A handle() 0 3 1
1
<?php
2
3
namespace Maiorano\Shortcodes\Library;
4
5
use Maiorano\Shortcodes\Contracts\AliasInterface;
6
use Maiorano\Shortcodes\Contracts\ShortcodeInterface;
7
use Maiorano\Shortcodes\Contracts\Traits\Alias;
8
use Maiorano\Shortcodes\Contracts\Traits\Shortcode;
9
use Maiorano\Shortcodes\Exceptions\RegisterException;
10
11
/**
12
 * Generate Lorem Ipsum
13
 * Usage: [loremipsum] or [ipsum].
14
 */
15
final class Ipsum implements ShortcodeInterface, AliasInterface
16
{
17
    use Shortcode;
18
    use Alias;
19
20
    /**
21
     * @var string
22
     */
23
    protected $name = 'loremipsum';
24
25
    /**
26
     * @var string[]
27
     */
28
    protected $alias = ['ipsum'];
29
30
    /**
31
     * @var string
32
     */
33
    private $ipsum = '
34
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent laoreet eu nulla sit amet porttitor. Sed accumsan nulla est,
35
        sit amet lobortis nunc convallis pretium. Phasellus aliquet euismod lacus, non maximus odio pulvinar quis. Nulla eu lorem malesuada,
36
        aliquam risus sit amet, interdum ligula. Vivamus sollicitudin bibendum accumsan. Maecenas sit amet ornare turpis, quis porttitor quam.
37
        Mauris turpis purus, bibendum in diam in, rutrum accumsan arcu.';
38
39
    /**
40
     * @param string|null $content
41
     *
42
     * @return string
43
     */
44 1
    public function handle(?string $content = null): string
45
    {
46 1
        return trim((string) preg_replace('/\s+/', ' ', $this->ipsum));
47
    }
48
49
    /**
50
     * @param string $alias
51
     *
52
     * @throws RegisterException
53
     *
54
     * @return AliasInterface
55
     */
56 1
    public function alias(string $alias): AliasInterface
57
    {
58 1
        if (!in_array($alias, $this->alias)) {
59 1
            $this->alias[] = $alias;
60
        }
61 1
        $this->aliasHelper($alias);
62
63 1
        return $this;
64
    }
65
}
66