Passed
Push — master ( 40c774...9e9b54 )
by
unknown
37s
created

LastTrait   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 29
ccs 6
cts 6
cp 1
rs 10
c 1
b 0
f 0
wmc 3
lcom 0
cbo 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A last() 0 4 1
A lastKey() 0 7 2
1
<?php
2
/**
3
 * @author Boudewijn Schoon <[email protected]>
4
 * @copyright Zicht Online <http://zicht.nl>
5
 */
6
7
namespace Zicht\Itertools\lib\Traits;
8
9
use Zicht\Itertools as iter;
10
11
trait LastTrait
12
{
13
    /**
14
     * Returns the last element of this iterable or
15
     * returns $DEFAULT when this iterable is empty
16
     *
17
     * @param mixed $default
18
     * @return mixed
19
     */
20 1
    public function last($default = null)
21
    {
22 1
        return iter\last($this, $default);
23
    }
24
25
    /**
26
     * Returns the key of the last element of this iterable or
27
     * returns $DEFAULT when this iterable is empty
28
     *
29
     * @param mixed $default
30
     * @return mixed
31
     */
32 5
    public function lastKey($default = null)
33
    {
34 5
        $key = $default;
35 5
        foreach ($this as $key => $value) {
0 ignored issues
show
Bug introduced by
The expression $this of type this<Zicht\Itertools\lib\Traits\LastTrait> is not traversable.
Loading history...
Unused Code introduced by
This foreach statement is empty and can be removed.

This check looks for foreach loops that have no statements or where all statements have been commented out. This may be the result of changes for debugging or the code may simply be obsolete.

Consider removing the loop.

Loading history...
36
        }
37 5
        return $key;
38
    }
39
}
40