Completed
Push — master ( 5f7cbd...b12d8e )
by Alejandro
03:03
created

ConfigProvider   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 5
Bugs 0 Features 2
Metric Value
wmc 3
c 5
b 0
f 2
lcom 0
cbo 0
dl 0
loc 42
ccs 22
cts 22
cp 1
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 7 1
A createDependenciesConfig() 0 14 1
A createErrorHandlerConfig() 0 16 1
1
<?php
2
namespace Acelaya\ExpressiveErrorHandler;
3
4
use Acelaya\ExpressiveErrorHandler\ErrorHandler\ContentBasedErrorHandler;
5
use Acelaya\ExpressiveErrorHandler\ErrorHandler\ErrorHandlerManager;
6
use Acelaya\ExpressiveErrorHandler\ErrorHandler\Factory\ContentBasedErrorHandlerFactory;
7
use Acelaya\ExpressiveErrorHandler\ErrorHandler\Factory\ErrorHandlerManagerFactory;
8
use Acelaya\ExpressiveErrorHandler\Log\BasicLogMessageBuilder;
9
use Acelaya\ExpressiveErrorHandler\Log\LogMessageBuilderInterface;
10
use Zend\Expressive\Container\TemplatedErrorHandlerFactory;
11
use Zend\ServiceManager\Factory\InvokableFactory;
12
use Zend\Stratigility\FinalHandler;
13
14
class ConfigProvider
15
{
16 1
    public function __invoke()
17
    {
18
        return [
19 1
            'dependencies' => $this->createDependenciesConfig(),
20 1
            'error_handler' => $this->createErrorHandlerConfig(),
21 1
        ];
22
    }
23
24 1
    private function createDependenciesConfig()
25
    {
26
        return [
27
            'factories' => [
28 1
                ErrorHandlerManager::class => ErrorHandlerManagerFactory::class,
29 1
                ContentBasedErrorHandler::class => ContentBasedErrorHandlerFactory::class,
30 1
                BasicLogMessageBuilder::class => InvokableFactory::class,
31 1
            ],
32
            'aliases' => [
33 1
                'Zend\Expressive\FinalHandler' => ContentBasedErrorHandler::class,
34 1
                LogMessageBuilderInterface::class => BasicLogMessageBuilder::class,
35 1
            ],
36 1
        ];
37
    }
38
39 1
    private function createErrorHandlerConfig()
40
    {
41
        return [
42
            'plugins' => [
43
                'invokables' => [
44 1
                    'text/plain' => FinalHandler::class,
45 1
                ],
46
                'factories' => [
47 1
                    ContentBasedErrorHandler::DEFAULT_CONTENT => TemplatedErrorHandlerFactory::class,
48 1
                ],
49
                'aliases' => [
50 1
                    'application/xhtml+xml' => ContentBasedErrorHandler::DEFAULT_CONTENT,
51 1
                ],
52 1
            ],
53 1
        ];
54
    }
55
}
56