WithoutMutator   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 5
Bugs 0 Features 0
Metric Value
wmc 1
c 5
b 0
f 0
lcom 0
cbo 4
dl 0
loc 22
ccs 8
cts 8
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 12 1
1
<?php
2
3
namespace Underscore\Mutator;
4
5
use Underscore\Accessor\ContainsAccessor;
6
use Underscore\Collection;
7
use Underscore\Mutator;
8
9
class WithoutMutator extends Mutator
10
{
11
    /**
12
     * Removes all provided values using strict comparison.
13
     *
14
     * @param Collection   $collection
15
     * @param \ArrayAccess $values
16
     * @return Collection
17
     */
18 2
    public function __invoke($collection, $values)
19
    {
20 2
        $values = new Collection($values);
21 2
        $contains = new ContainsAccessor();
22 2
        $reject = new RejectMutator();
23
24 2
        $iterator = function ($item) use ($values, $contains) {
25 2
            return $contains($values, $item);
26 2
        };
27
28 2
        return $reject($collection, $iterator);
29
    }
30
}
31