Passed
Pull Request — master (#39)
by Daniel
03:37
created

CacheSymfonyServiceProvider::createRedisClient()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 12
c 1
b 0
f 1
dl 0
loc 16
rs 9.8666
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Jellyfish\CacheSymfony;
4
5
use Jellyfish\Cache\CacheConstants;
6
use Jellyfish\Config\ConfigConstants;
7
use Jellyfish\Config\ConfigServiceProvider;
8
use Pimple\Container;
9
use Pimple\ServiceProviderInterface;
10
use Predis\Client;
11
use Predis\ClientInterface;
12
use Symfony\Component\Cache\Adapter\AbstractAdapter;
13
use Symfony\Component\Cache\Adapter\RedisAdapter;
14
15
class CacheSymfonyServiceProvider implements ServiceProviderInterface
16
{
17
    /**
18
     * @param \Pimple\Container $container
19
     */
20
    public function register(Container $container): void
21
    {
22
        $this->registerCacheFacade($container);
23
    }
24
25
    /**
26
     * @param \Pimple\Container $container
27
     *
28
     * @return \Jellyfish\CacheSymfony\CacheSymfonyServiceProvider
29
     */
30
    protected function registerCacheFacade(Container $container): CacheSymfonyServiceProvider
31
    {
32
        $container->offsetSet(CacheConstants::FACADE, static function (Container $container) {
33
            $cacheSymfonyFactory = new CacheSymfonyFactory(
34
                $container->offsetGet(ConfigConstants::FACADE)
35
            );
36
37
            return new CacheSymfonyFacade($cacheSymfonyFactory);
38
        });
39
40
        return $this;
41
    }
42
}
43