Code Duplication    Length = 24-24 lines in 2 locations

src/DensitiesAwareTrait.php 1 location

@@ 4-27 (lines=24) @@
1
<?php
2
namespace FilmTools\ExposureSeries;
3
4
trait DensitiesAwareTrait
5
{
6
    use DensitiesProviderTrait;
7
8
9
    /**
10
     * @param  array|Traversable $densities
11
     * @return self
12
     */
13
    public function setDensities($densities)
14
    {
15
        if ($densities instanceOf DensitiesProviderInterface):
16
            $densities = $densities->getDensities();
17
        elseif ($densities instanceOf \Traversable) :
18
            $densities = iterator_to_array($densities);
19
        elseif (!is_array($densities)):
20
            throw new \InvalidArgumentException("Traversable or array expected.", 1);
21
        endif;
22
23
        $this->densities = $densities;
24
        return $this;
25
    }
26
27
}
28

src/ZonesAwareTrait.php 1 location

@@ 4-27 (lines=24) @@
1
<?php
2
namespace FilmTools\ExposureSeries;
3
4
trait ZonesAwareTrait
5
{
6
    use ZonesProviderTrait;
7
8
9
    /**
10
     * @param  array|Traversable $zones
11
     * @return self
12
     */
13
    public function setZones($zones)
14
    {
15
        if ($zones instanceOf ZonesProviderInterface):
16
            $zones = $zones->getZones();
17
        elseif ($zones instanceOf \Traversable) :
18
            $zones = iterator_to_array($zones);
19
        elseif (!is_array($zones)):
20
            throw new \InvalidArgumentException("Traversable or array expected.", 1);
21
        endif;
22
23
        $this->zones = $zones;
24
        return $this;
25
    }
26
27
}
28