Passed
Push — master ( 056d39...c33903 )
by Gabriel
04:13
created

HelloServiceProvider   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Test Coverage

Coverage 40.74%

Importance

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

4 Methods

Rating   Name   Duplication   Size   Complexity  
A register() 0 4 1
A provides() 0 7 1
A boot() 0 6 1
A registerResources() 0 15 4
1
<?php
2
3
namespace ByTIC\Hello;
4
5
use ByTIC\Hello\Oauth\Routes\RouteRegistrar;
6
use ByTIC\Hello\Oauth\ServiceProvider\Traits\AuthorizationServerTrait;
7
use ByTIC\Hello\Oauth\ServiceProvider\Traits\RepositoriesTrait;
8
use League\OAuth2\Server\AuthorizationServer;
9
use Nip\Container\ServiceProviders\Providers\AbstractSignatureServiceProvider;
10
use Nip\Container\ServiceProviders\Providers\BootableServiceProviderInterface;
11
12
/**
13
 * Class HelloServiceProvider
14
 * @package ByTIC\Auth
15
 */
16
class HelloServiceProvider extends AbstractSignatureServiceProvider implements BootableServiceProviderInterface
17
{
18 1
    use RepositoriesTrait;
19 1
    use AuthorizationServerTrait;
20
21
    /**
22
     * @inheritdoc
23
     */
24
    public function register()
25
    {
26
        $this->registerRepositories();
27
        $this->registerAuthorizationServer();
28
    }
29
30
    /**
31
     * @inheritdoc
32
     */
33
    public function provides()
34
    {
35
        $return = ['hello.server', AuthorizationServer::class];
36
37
        $return = $this->appendRepositoriesToProvide($return);
38
        $return = $this->appendCryptKeysToProvide($return);
39
        return $return;
40
    }
41
42
    /**
43
     * @inheritDoc
44
     */
45 1
    public function boot()
46
    {
47 1
        $router = $this->getContainer()->get('router');
48 1
        (new RouteRegistrar($router))->all();
49
50 1
        $this->registerResources();
51 1
    }
52
53 1
    protected function registerResources()
54
    {
55 1
        $container= $this->getContainer();
56 1
        if ($container->has('translation.languages') === false) {
57 1
            return;
58
        }
59
        $languages = $container->get('translation.languages');
60
        $folder = dirname(__DIR__) . '/resources/lang/';
61
62
        $translator = $container->get('translator');
63
64
        foreach ($languages as $language) {
65
            $path = $folder . $language;
66
            if (is_dir($path)) {
67
                $translator->addResource('php', $path, $language);
68
            }
69
        }
70
    }
71
}
72