Completed
Push — master ( 073c6d...49d4ca )
by Dmitry
06:07
created

PredisProvider   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 24
ccs 0
cts 13
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A register() 0 17 2
1
<?php
2
3
namespace Basis\Provider;
4
5
use Basis\Service;
6
use League\Container\ServiceProvider\AbstractServiceProvider;
7
use Predis\Client;
8
9
class PredisProvider extends AbstractServiceProvider
10
{
11
    protected $provides = [
12
        Client::class,
13
    ];
14
15
    public function register()
16
    {
17
        $this->getContainer()->share(Client::class, function () {
18
            $service = $this->getContainer()->get(Service::class);
19
            $host = getenv('REDIS_SERVICE_HOST');
20
            if (!$host) {
21
                $redisService = $service->getName().'-redis';
22
                $host = $service->getHost($redisService)->address;
23
            }
24
            $client = new Client([
25
                'scheme' => 'tcp',
26
                'host' => $host,
27
                'port' => 6379,
28
            ]);
29
            return $client;
30
        });
31
    }
32
}
33