Code Duplication    Length = 27-27 lines in 2 locations

src/TreeHouse/Feeder/Modifier/Item/Transformer/ObsoleteFieldsTransformer.php 1 location

@@ 10-36 (lines=27) @@
7
/**
8
 * Makes sure obsolete fields are removed.
9
 */
10
class ObsoleteFieldsTransformer implements TransformerInterface
11
{
12
    /**
13
     * @var array
14
     */
15
    protected $fields;
16
17
    /**
18
     * @param array $fields The fields to keep. Any other field will be removed.
19
     */
20
    public function __construct(array $fields)
21
    {
22
        $this->fields = $fields;
23
    }
24
25
    /**
26
     * @inheritdoc
27
     */
28
    public function transform(ParameterBag $item)
29
    {
30
        foreach ($item->keys() as $key) {
31
            if (!in_array($key, $this->fields)) {
32
                $item->remove($key);
33
            }
34
        }
35
    }
36
}
37

src/TreeHouse/Feeder/Modifier/Item/Transformer/RemoveFieldsTransformer.php 1 location

@@ 10-36 (lines=27) @@
7
/**
8
 * Filters out unwanted fields.
9
 */
10
class RemoveFieldsTransformer implements TransformerInterface
11
{
12
    /**
13
     * @var array
14
     */
15
    protected $fields;
16
17
    /**
18
     * @param array $fields The fields to remove
19
     */
20
    public function __construct(array $fields)
21
    {
22
        $this->fields = $fields;
23
    }
24
25
    /**
26
     * @inheritdoc
27
     */
28
    public function transform(ParameterBag $item)
29
    {
30
        foreach ($item->keys() as $key) {
31
            if (in_array($key, $this->fields)) {
32
                $item->remove($key);
33
            }
34
        }
35
    }
36
}
37