Passed
Push — master ( eff61e...76df74 )
by Gordon
02:24
created

AddLinkIndexablePayloadMutator::mutatePayload()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 6
c 0
b 0
f 0
dl 0
loc 10
rs 10
cc 4
nc 4
nop 2
1
<?php declare(strict_types = 1);
2
3
/**
4
 * Created by PhpStorm.
5
 * User: gordon
6
 * Date: 25/3/2561
7
 * Time: 17:01 น.
8
 */
9
10
namespace Suilven\FreeTextSearch\Implementation;
11
12
use SilverStripe\ORM\DataObject;
13
use Suilven\FreeTextSearch\Interfaces\IndexablePayloadMutator;
14
15
class AddLinkIndexablePayloadMutator implements IndexablePayloadMutator
16
{
17
    /**
18
     * @param \SilverStripe\ORM\DataObject $dataObject the data object to index
19
     * @param array<string,array<string,int|float|string|bool>> $payload the payload to index
20
     */
21
    public function mutatePayload(DataObject $dataObject, array &$payload): void
22
    {
23
        if (!\method_exists($dataObject, 'Link')) {
24
            return;
25
        }
26
27
        $keys = \array_keys($payload);
28
        foreach ($keys as $key) {
29
            if ($payload[$key] !== []) {
30
                $payload[$key]['Link'] = $dataObject->Link();
31
            };
32
        }
33
    }
34
}
35