Passed
Branch 3.0.0 (0ebb76)
by Pieter
02:27
created

MockPlugin   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
c 1
b 0
f 0
dl 0
loc 23
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getApiResourceFactory() 0 12 1
A __construct() 0 3 1
1
<?php
2
3
namespace W2w\Lib\Apie\Plugins\Mock;
4
5
use W2w\Lib\Apie\Interfaces\ApiResourceFactoryInterface;
6
use W2w\Lib\Apie\PluginInterfaces\ApieAwareInterface;
7
use W2w\Lib\Apie\PluginInterfaces\ApieAwareTrait;
8
use W2w\Lib\Apie\PluginInterfaces\ApiResourceFactoryProviderInterface;
9
use W2w\Lib\Apie\Plugins\Core\CorePlugin;
10
use W2w\Lib\Apie\Plugins\Mock\DataLayers\MockApiResourceDataLayer;
11
use W2w\Lib\Apie\Plugins\Mock\ResourceFactories\MockApiResourceFactory;
12
13
final class MockPlugin implements ApiResourceFactoryProviderInterface, ApieAwareInterface
14
{
15
    use ApieAwareTrait;
16
17
    private $ignoreList = [];
18
19
    public function __construct(array $ignoreList = [])
20
    {
21
        $this->ignoreList = $ignoreList;
22
    }
23
24
    public function getApiResourceFactory(): ApiResourceFactoryInterface
25
    {
26
        $internalFactory = $this->getApie()->getPlugin(CorePlugin::class)->getApiResourceFactory();
27
28
        return new MockApiResourceFactory(
29
            new MockApiResourceDataLayer(
30
                $this->getApie()->getCacheItemPool(),
31
                $this->getApie()->getIdentifierExtractor(),
32
                $this->getApie()->getPropertyAccessor()
33
            ),
34
            $internalFactory,
35
            $this->ignoreList
36
        );
37
    }
38
}
39