Test Failed
Push — master ( 9ff364...742ef2 )
by Sebastian
03:58
created

Snippet::create()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 19
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 10
c 1
b 0
f 0
nc 2
nop 1
dl 0
loc 19
rs 9.9332
1
<?php
2
/**
3
 * File containing the class {@see \Mailcode\Factory\CommandSets\Set\Show\Snippet}.
4
 *
5
 * @package Mailcode
6
 * @subpackage Factory
7
 * @see \Mailcode\Factory\CommandSets\Set\Show\Snippet
8
 */
9
10
declare(strict_types=1);
11
12
namespace Mailcode\Factory\CommandSets\Set\Show;
13
14
use Mailcode\Mailcode_Commands_Command_ShowSnippet;
15
use Mailcode\Mailcode_Factory_CommandSets_Set;
16
17
/**
18
 * Factory class for the `showsnippet` command.
19
 *
20
 * @package Mailcode
21
 * @subpackage Factory
22
 * @author Sebastian Mordziol <[email protected]>
23
 */
24
class Snippet extends Mailcode_Factory_CommandSets_Set
25
{
26
    public function create(string $snippetName) : Mailcode_Commands_Command_ShowSnippet
27
    {
28
        $snippetName = $this->instantiator->filterVariableName($snippetName);
29
30
        $cmd = $this->commands->createCommand(
31
            'ShowSnippet',
32
            '',
33
            $snippetName,
34
            '{showsnippet:'.$snippetName.'}'
35
        );
36
37
        $this->instantiator->checkCommand($cmd);
38
39
        if($cmd instanceof Mailcode_Commands_Command_ShowSnippet)
40
        {
41
            return $cmd;
42
        }
43
44
        throw $this->instantiator->exceptionUnexpectedType('ShowSnippet', $cmd);
45
    }
46
}
47