Passed
Push — master ( 9edaa9...35a131 )
by Mikołaj
04:21
created

AttributeValueResolver::resolve()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 13
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 6
nc 3
nop 1
1
<?php
2
3
/*
4
 * This file has been created by developers from BitBag. 
5
 * Feel free to contact us once you face any issues or want to start
6
 * another great project. 
7
 * You can find more information about us on https://bitbag.shop and write us
8
 * an email on [email protected]. 
9
 */
10
11
declare(strict_types=1);
12
13
namespace BitBag\SyliusElasticsearchPlugin\PropertyValueResolver;
14
15
use Sylius\Component\Attribute\Model\AttributeValueInterface;
16
17
final class AttributeValueResolver implements AttributeValueResolverInterface
18
{
19
    /**
20
     * {@inheritdoc}
21
     */
22
    public function resolve(AttributeValueInterface $attributeValue)
23
    {
24
        $value = $attributeValue->getValue();
25
26
        if (AttributeValueInterface::STORAGE_JSON === $attributeValue->getType()) {
27
            return json_encode($value);
28
        }
29
30
        if (AttributeValueInterface::STORAGE_TEXT === $attributeValue->getType()) {
31
            return strtolower(str_replace([' ', '-'], '_', $value));
32
        }
33
34
        return $value;
35
    }
36
}
37