Code Duplication    Length = 34-34 lines in 2 locations

src/Factory/Build/Hydrator/Match/ExactConfig.php 1 location

@@ 13-46 (lines=34) @@
10
 * Class ExactMatchConfig.
11
 * @author Ivan Barlog <[email protected]>
12
 */
13
class ExactConfig extends MatchConfig
14
{
15
    const OPTION_MATCH = 'match';
16
17
    /**
18
     * @param string $className
19
     * @param array $arguments
20
     * @return ExactMatch
21
     */
22
    protected function getObject(string $className, array $arguments)
23
    {
24
        return new $className($arguments[self::OPTION_MATCH]);
25
    }
26
27
    /**
28
     * @param ExactMatch $item
29
     * @return array
30
     */
31
    protected function getArray($item): array
32
    {
33
        return [
34
            self::OPTION_CLASS => get_class($item),
35
            self::OPTION_MATCH => $item->getValue(),
36
        ];
37
    }
38
39
    protected function config()
40
    {
41
        $this->resolver->setRequired(self::OPTION_MATCH);
42
        $this->resolver->setAllowedTypes(self::OPTION_MATCH, 'string');
43
44
        $this->supportedClasses[] = ExactMatch::class;
45
    }
46
}
47

src/Factory/Build/Hydrator/Match/PrefixConfig.php 1 location

@@ 13-46 (lines=34) @@
10
 * Class PrefixConfig.
11
 * @author Ivan Barlog <[email protected]>
12
 */
13
class PrefixConfig extends MatchConfig
14
{
15
    const OPTION_PREFIX = 'prefix';
16
17
    /**
18
     * @param string $className
19
     * @param array $arguments
20
     * @return PrefixMatch
21
     */
22
    protected function getObject(string $className, array $arguments)
23
    {
24
        return new $className($arguments[self::OPTION_PREFIX]);
25
    }
26
27
    /**
28
     * @param PrefixMatch $item
29
     * @return array
30
     */
31
    protected function getArray($item): array
32
    {
33
        return [
34
            self::OPTION_CLASS => get_class($item),
35
            self::OPTION_PREFIX => $item->getPrefix(),
36
        ];
37
    }
38
39
    protected function config()
40
    {
41
        $this->resolver->setRequired(self::OPTION_PREFIX);
42
        $this->resolver->setAllowedTypes(self::OPTION_PREFIX, 'string');
43
44
        $this->supportedClasses[] = PrefixMatch::class;
45
    }
46
}
47