ConfigProvider::getSlmQueue()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 17
rs 9.4285
cc 1
eloc 9
nc 1
nop 0
1
<?php
2
3
/**
4
 * Mailer Queue Component (http://mateuszsitek.com/projects/mailer-component-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\Mailer\Component\Queue;
11
12
use Aist\Mailer\Component\Queue\Job\SendJob;
13
use Aist\Mailer\Component\Queue\Job\SendJobFactory;
14
use SlmQueueDoctrine\Factory\DoctrineQueueFactory;
15
16
/**
17
 * ConfigProvider for Mailer Queue Component
18
 */
19
class ConfigProvider
20
{
21
    /**
22
     * Returns the configuration array
23
     *
24
     * To add a bit of a structure, each section is defined in a separate
25
     * method which returns an array with its configuration.
26
     *
27
     * @return array
28
     */
29
    public function __invoke()
30
    {
31
        return [
32
            'dependencies' => $this->getDependencies(),
33
            'slm_queue' => $this->getSlmQueue(),
34
        ];
35
    }
36
37
    /**
38
     * Returns the container dependencies
39
     *
40
     * @return array
41
     */
42
    public function getDependencies()
43
    {
44
        return [
45
            'invokables' => [
46
            ],
47
            'factories'  => [
48
                SendJob::class => SendJobFactory::class,
49
            ],
50
        ];
51
    }
52
53
    /**
54
     * Returns the queue dependencies
55
     *
56
     * @return array
57
     */
58
    public function getSlmQueue()
59
    {
60
        return [
61
            'queue_manager' => [
62
                'factories' => [
63
                    'mail' => DoctrineQueueFactory::class,
64
                ],
65
            ],
66
            'queues' => [
67
            ],
68
            'job_manager' => [
69
                'factories' => [
70
                    SendJob::class => SendJobFactory::class,
71
                ],
72
            ],
73
        ];
74
    }
75
}
76