Configuration::getCronConfiguration()   A
last analyzed

Complexity

Conditions 5
Paths 5

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 16
rs 9.4222
c 0
b 0
f 0
cc 5
nc 5
nop 0
1
<?php
2
namespace LizardMedia\CronScheduler\Model\Cron;
3
4
use Magento\Cron\Model\ConfigInterface;
5
6
/**
7
 * Class Configuration
8
 * @package LizardMedia\CronScheduler\Model\Cron
9
 */
10
class Configuration
11
{
12
    /**
13
     * @var ConfigInterface
14
     */
15
    private $cronConfigurationInterface;
16
17
    /**
18
     * Configuration constructor.
19
     * @param ConfigInterface $config
20
     */
21
    public function __construct(ConfigInterface $config)
22
    {
23
        $this->cronConfigurationInterface = $config;
24
    }
25
26
    /**
27
     * @return array
28
     */
29
    public function getCronConfiguration()
30
    {
31
        $cronConfiguration = [];
32
        $cronJobs = $this->cronConfigurationInterface->getJobs();
33
        foreach ($cronJobs as $group => $jobs) {
34
            foreach ($jobs as $code => $job) {
35
                $job['group'] = $group;
36
                $job['code'] = $code;
37
                if (!isset($job['config_schedule'])) {
38
                    $job['config_schedule'] = (isset($job['schedule'])) ? $job['schedule'] : '';
39
                }
40
                $cronConfiguration[$code] = $job;
41
            }
42
        }
43
        return $cronConfiguration;
44
    }
45
}
46