Converter   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A convert() 0 13 2
1
<?php
2
declare(strict_types=1);
3
4
/**
5
 * File: Converter.php
6
 *
7
 * @author      Maciej Sławik <[email protected]>
8
 * Github:      https://github.com/maciejslawik
9
 */
10
11
namespace MSlwk\XmlUrlRewrites\Model\Config;
12
13
use DOMDocument;
14
use DOMNode;
15
use DOMXPath;
16
use Magento\Framework\Config\ConverterInterface;
17
18
/**
19
 * Class Converter
20
 * @package MSlwk\XmlUrlRewrites\Model\Config
21
 */
22
class Converter implements ConverterInterface
23
{
24
    /**
25
     * @param DOMDocument $source
26
     * @return array
27
     */
28
    public function convert($source)
29
    {
30
        $xpath = new DOMXPath($source);
31
        $rewrites = [];
32
        /** @var $rewriteNode DOMNode */
33
        foreach ($xpath->query('/config/rewrites/rewrite') as $rewriteNode) {
34
            $rewriteAttributes = $rewriteNode->attributes;
35
            $pathAttribute = $rewriteAttributes->getNamedItem('path');
36
            $targetAttribute = $rewriteAttributes->getNamedItem('target');
37
            $rewrites[$pathAttribute->nodeValue] = $targetAttribute->nodeValue;
38
        }
39
        return $rewrites;
40
    }
41
}
42