SessionEndedRequest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 10
c 1
b 0
f 0
dl 0
loc 27
ccs 7
cts 7
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A fromAmazonRequest() 0 10 2
1
<?php
2
3
namespace MaxBeckers\AmazonAlexa\Request\Request\Standard;
4
5
use MaxBeckers\AmazonAlexa\Helper\PropertyHelper;
6
use MaxBeckers\AmazonAlexa\Request\Request\AbstractRequest;
7
use MaxBeckers\AmazonAlexa\Request\Request\Error;
8
9
/**
10
 * @author Maximilian Beckers <[email protected]>
11
 */
12
class SessionEndedRequest extends StandardRequest
13
{
14
    const TYPE = 'SessionEndedRequest';
15
16
    /**
17
     * @var string
18
     */
19
    public $reason;
20
21
    /**
22
     * @var Error|null
23
     */
24
    public $error;
25
26
    /**
27
     * @inheritdoc
28
     */
29 2
    public static function fromAmazonRequest(array $amazonRequest): AbstractRequest
30
    {
31 2
        $request = new self();
32
33 2
        $request->type   = self::TYPE;
34 2
        $request->reason = PropertyHelper::checkNullValueString($amazonRequest, 'reason');
35 2
        $request->error  = isset($amazonRequest['error']) ? Error::fromAmazonRequest($amazonRequest['error']) : null;
36 2
        $request->setRequestData($amazonRequest);
37
38 2
        return $request;
39
    }
40
}
41