Redis::register()   C
last analyzed

Complexity

Conditions 9
Paths 256

Size

Total Lines 58

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 53.3673

Importance

Changes 0
Metric Value
dl 0
loc 58
ccs 10
cts 55
cp 0.1818
rs 6.1341
c 0
b 0
f 0
cc 9
nc 256
nop 1
crap 53.3673

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
/**
3
 * Redis.php
4
 *
5
 * PHP version 5.6+
6
 *
7
 * @author Philippe Gaultier <[email protected]>
8
 * @copyright 2010-2017 Philippe Gaultier
9
 * @license http://www.sweelix.net/license license
10
 * @version 1.2.0
11
 * @link http://www.sweelix.net
12
 * @package sweelix\oauth2\server\services
13
 */
14
15
namespace sweelix\oauth2\server\services;
16
17
use sweelix\oauth2\server\interfaces\ServiceBootstrapInterface;
18
use sweelix\oauth2\server\services\redis\AccessTokenService;
19
use sweelix\oauth2\server\services\redis\AuthCodeService;
20
use sweelix\oauth2\server\services\redis\ClientService;
21
use sweelix\oauth2\server\services\redis\CypherKeyService;
22
use sweelix\oauth2\server\services\redis\JtiService;
23
use sweelix\oauth2\server\services\redis\JwtService;
24
use sweelix\oauth2\server\services\redis\RefreshTokenService;
25
use sweelix\oauth2\server\services\redis\ScopeService;
26
use Yii;
27
28
/**
29
 * This is the service loader for redis
30
 *
31
 * @author Philippe Gaultier <[email protected]>
32
 * @copyright 2010-2017 Philippe Gaultier
33
 * @license http://www.sweelix.net/license license
34
 * @version 1.2.0
35
 * @link http://www.sweelix.net
36
 * @package sweelix\oauth2\server\services
37
 * @since 1.0.0
38
 */
39
class Redis implements ServiceBootstrapInterface
40
{
41
    /**
42
     * @inheritdoc
43
     */
44 52
    public static function register($app)
45
    {
46 52
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\AccessTokenServiceInterface') === false) {
47
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\AccessTokenServiceInterface', [
48
                'class' => AccessTokenService::class,
49
                'namespace' => 'oauth2:accessTokens',
50
                'userNamespace' => 'oauth2:users',
51
                'clientNamespace' => 'oauth2:clients',
52
            ]);
53
        }
54 52
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\AuthCodeServiceInterface') === false) {
55
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\AuthCodeServiceInterface', [
56
                'class' => AuthCodeService::class,
57
                'namespace' => 'oauth2:authCodes',
58
            ]);
59
        }
60 52
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\ClientServiceInterface') === false) {
61
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\ClientServiceInterface', [
62
                'class' => ClientService::class,
63
                'namespace' => 'oauth2:clients',
64
                'userNamespace' => 'oauth2:users',
65
            ]);
66
        }
67 52
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\CypherKeyServiceInterface') === false) {
68
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\CypherKeyServiceInterface', [
69
                'class' => CypherKeyService::class,
70
                'namespace' => 'oauth2:cypherKeys',
71
            ]);
72
        }
73 52
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\JtiServiceInterface') === false) {
74
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\JtiServiceInterface', [
75
                'class' => JtiService::class,
76
                'namespace' => 'oauth2:jti',
77
                'subjectNamespace' => 'oauth2:subject',
78
                'clientNamespace' => 'oauth2:clients',
79 52
            ]);
80
        }
81
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\JwtServiceInterface') === false) {
82
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\JwtServiceInterface', [
83
                'class' => JwtService::class,
84
                'namespace' => 'oauth2:jwt',
85 52
            ]);
86
        }
87
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\RefreshTokenServiceInterface') === false) {
88
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\RefreshTokenServiceInterface', [
89
                'class' => RefreshTokenService::class,
90
                'namespace' => 'oauth2:refreshTokens',
91
                'userNamespace' => 'oauth2:users',
92
                'clientNamespace' => 'oauth2:clients',
93 52
            ]);
94
        }
95
        if (Yii::$container->hasSingleton('sweelix\oauth2\server\interfaces\ScopeServiceInterface') === false) {
96
            Yii::$container->setSingleton('sweelix\oauth2\server\interfaces\ScopeServiceInterface', [
97
                'class' => ScopeService::class,
98
                'namespace' => 'oauth2:scopes',
99 52
            ]);
100
        }
101
    }
102
}
103