CronConfigurationProvider::getData()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
rs 9.9332
c 0
b 0
f 0
cc 1
nc 1
nop 0
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