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

HelloServiceProvider::boot()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 3
c 0
b 0
f 0
dl 0
loc 6
rs 10
ccs 4
cts 4
cp 1
cc 1
nc 1
nop 0
crap 1
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