CronConfigurationProvider   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 1
dl 0
loc 42
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 11 1
A getData() 0 10 1
1
<?php
2
namespace LizardMedia\CronScheduler\Ui\DataProvider;
3
4
use Magento\Ui\DataProvider\AbstractDataProvider;
5
use LizardMedia\CronScheduler\Model\Cron\Configuration;
6
7
/**
8
 * Class CronConfigurationProvider
9
 * @package LizardMedia\CronScheduler\Ui\DataProvider
10
 */
11
class CronConfigurationProvider extends AbstractDataProvider
12
{
13
    /**
14
     * @var Configuration
15
     */
16
    private $cronConfiguration;
17
18
    /**
19
     * CronConfigurationProvider constructor.
20
     * @param Configuration $configuration
21
     * @param $name
22
     * @param $primaryFieldName
23
     * @param $requestFieldName
24
     * @param array $meta
25
     * @param array $data
26
     */
27
    public function __construct(
28
        Configuration $configuration,
29
        $name,
30
        $primaryFieldName,
31
        $requestFieldName,
32
        $meta = [],
33
        $data = []
34
    ) {
35
        $this->cronConfiguration = $configuration;
36
        parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data);
37
    }
38
39
    /**
40
     * @return array
41
     */
42
    public function getData()
43
    {
44
        $data = array_values($this->cronConfiguration->getCronConfiguration());
45
        $totalRecords = count($data);
46
47
        return [
48
            'totalRecords' => $totalRecords,
49
            'items' => $data,
50
        ];
51
    }
52
}
53