Nickname::name()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * The MIT License (MIT)
7
 *
8
 * Copyright (c) 2014-2019 Spomky-Labs
9
 *
10
 * This software may be modified and distributed under the terms
11
 * of the MIT license.  See the LICENSE file for details.
12
 */
13
14
namespace OAuth2Framework\Component\OpenIdConnect\UserInfo\Claim;
15
16
use OAuth2Framework\Component\Core\UserAccount\UserAccount;
17
18
final class Nickname implements Claim
19
{
20
    private const CLAIM_NAME = 'nickname';
21
22
    public function name(): string
23
    {
24
        return self::CLAIM_NAME;
25
    }
26
27
    public function isAvailableForUserAccount(UserAccount $userAccount, ?string $claimLocale): bool
28
    {
29
        return $userAccount->has(
30
            $this->getComputedClaimName($claimLocale)
31
        );
32
    }
33
34
    public function getForUserAccount(UserAccount $userAccount, ?string $claimLocale)
35
    {
36
        return $userAccount->get(
37
            $this->getComputedClaimName($claimLocale)
38
        );
39
    }
40
41
    private function getComputedClaimName(?string $claimLocale): string
42
    {
43
        return null !== $claimLocale ? \Safe\sprintf('%s#%s', self::CLAIM_NAME, $claimLocale) : self::CLAIM_NAME;
44
    }
45
}
46