ConfigProvider   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 87
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
c 1
b 0
f 0
lcom 0
cbo 0
dl 0
loc 87
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 11 1
A getDependencies() 0 12 1
A getSlmQueue() 0 15 1
A getCommands() 0 6 1
A getHelpers() 0 8 1
1
<?php
2
3
/**
4
 * Aist Queue (http://mateuszsitek.com/projects/queue)
5
 *
6
 * @copyright Copyright (c) 2017 DIGITAL WOLVES LTD (http://digitalwolves.ltd) All rights reserved.
7
 * @license   http://opensource.org/licenses/BSD-3-Clause BSD-3-Clause
8
 */
9
10
namespace Aist\Queue;
11
12
use Aist\Queue\Console\Helper\JobHelper;
13
use Aist\Queue\Console\Helper\JobHelperFactory;
14
use Aist\Queue\Console\Helper\QueueHelper;
15
use Aist\Queue\Console\Helper\QueueHelperFactory;
16
use Aist\Queue\Console\Helper\WorkerHelper;
17
use Aist\Queue\Console\Helper\WorkerHelperFactory;
18
19
/**
20
 * ConfigProvider for Aist Queue
21
 */
22
class ConfigProvider
23
{
24
    /**
25
     * Returns the configuration array
26
     *
27
     * To add a bit of a structure, each section is defined in a separate
28
     * method which returns an array with its configuration.
29
     *
30
     * @return array
31
     */
32
    public function __invoke()
33
    {
34
        return [
35
            'dependencies' => $this->getDependencies(),
36
            'slm_queue' => $this->getSlmQueue(),
37
            'console' => [
38
                'commands' => $this->getCommands(),
39
                'helpers' => $this->getHelpers(),
40
            ],
41
        ];
42
    }
43
44
    /**
45
     * Returns the container dependencies
46
     *
47
     * @return array
48
     */
49
    public function getDependencies()
50
    {
51
        return [
52
            'invokables' => [
53
            ],
54
            'factories'  => [
55
                QueueHelper::class => QueueHelperFactory::class,
56
                JobHelper::class => JobHelperFactory::class,
57
                WorkerHelper::class => WorkerHelperFactory::class,
58
            ],
59
        ];
60
    }
61
62
    /**
63
     * Returns the queue dependencies
64
     *
65
     * @return array
66
     */
67
    public function getSlmQueue()
68
    {
69
        return [
70
            'queue_manager' => [
71
                'factories' => [
72
                ],
73
            ],
74
            'queues' => [
75
            ],
76
            'job_manager' => [
77
                'factories' => [
78
                ],
79
            ],
80
        ];
81
    }
82
83
    /**
84
     * Returns the commands array
85
     *
86
     * @return array
87
     */
88
    public function getCommands()
89
    {
90
        return [
91
            Console\Command\StartQueueWorkerCommand::class,
92
        ];
93
    }
94
95
    /**
96
     * Returns the helpers array
97
     *
98
     * @return array
99
     */
100
    public function getHelpers()
101
    {
102
        return [
103
            'qm' => \Aist\Queue\Console\Helper\QueueHelper::class,
104
            'queueJobHelper' => \Aist\Queue\Console\Helper\JobHelper::class,
105
            'worker' => \Aist\Queue\Console\Helper\WorkerHelper::class,
106
        ];
107
    }
108
}
109