PersonaRequest   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 1
dl 0
loc 36
ccs 11
cts 11
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A buildHeaders() 0 8 2
A buildBody() 0 6 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Kerox\Messenger\Request;
6
7
use Kerox\Messenger\Model\PersonaSettings;
8
9
class PersonaRequest extends AbstractRequest
10
{
11
    /**
12
     * @var \Kerox\Messenger\Model\PersonaSettings|null
13
     */
14
    protected $personaSettings;
15
16
    /**
17
     * ProfileRequest constructor.
18
     */
19 4
    public function __construct(string $pageToken, PersonaSettings $personaSettings = null)
20
    {
21 4
        parent::__construct($pageToken);
22
23 4
        $this->personaSettings = $personaSettings;
24 4
    }
25
26 4
    protected function buildHeaders(): ?array
27
    {
28
        $headers = [
29 4
            'Content-Type' => 'application/json',
30
        ];
31
32 4
        return $this->personaSettings instanceof PersonaSettings ? $headers : null;
33
    }
34
35
    /**
36
     * @return \Kerox\Messenger\Model\PersonaSettings|mixed|null
37
     */
38 4
    protected function buildBody()
39
    {
40 4
        if ($this->personaSettings instanceof PersonaSettings) {
41 1
            return $this->personaSettings;
42
        }
43 3
    }
44
}
45