ValidCouponsFilterIterator   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 1
dl 0
loc 31
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A accept() 0 10 2
1
<?php
2
namespace Germania\Coupons;
3
4
class ValidCouponsFilterIterator extends \FilterIterator
5
{
6
7
    /**
8
     * @var boolean
9
     */
10
    public $status = true;
11
12
13
    /**
14
     * @param \Traversable $coupons
15
     * @param boolean      $status
16
     */
17 30
    public function __construct( \Traversable $coupons, $status = true)
18
    {
19 30
        parent::__construct( new \IteratorIterator( $coupons ));
20 30
        $this->status = $status;
21 30
    }
22
23
24 30
    public function accept()
25
    {
26 30
        $current = $this->getInnerIterator()->current();
27
28 30
        if ($current instanceOf ValidCouponInterface):
29 30
            return $current->isValid() == $this->status;
30
        endif;
31
32 30
        return !$this->status;
33
    }
34
}
35