ValidCouponsFilterIterator::accept()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 10
ccs 5
cts 5
cp 1
rs 9.9332
c 0
b 0
f 0
cc 2
nc 2
nop 0
crap 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