Completed
Push — develop ( bd286b...3e7014 )
by Chris
01:03 queued 59s
created

AbstractTag::readLines()   B

Complexity

Conditions 5
Paths 5

Size

Total Lines 20
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 5.1158

Importance

Changes 0
Metric Value
dl 0
loc 20
ccs 10
cts 12
cp 0.8333
rs 8.8571
c 0
b 0
f 0
cc 5
eloc 10
nc 5
nop 1
crap 5.1158
1
<?php
2
3
/*
4
 * This file is part of the PhpM3u8 package.
5
 *
6
 * (c) Chrisyue <http://chrisyue.com/>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Chrisyue\PhpM3u8\Tag;
13
14
use Chrisyue\PhpM3u8\DumpableInterface;
15
16
abstract class AbstractTag implements DumpableInterface
17
{
18 1
    public function readLines(array &$lines)
19
    {
20 1
        if (empty($lines)) {
21
            return;
22
        }
23
24 1
        foreach ($lines as $key => $line) {
25 1
            if (0 === strpos($line, static::TAG_IDENTIFIER)) {
26 1
                $this->read($line);
27
28 1
                unset($lines[$key]);
29
30 1
                return;
31
            }
32
33 1
            if (0 !== strpos($line, '#')) {
34 1
                return;
35
            }
36 1
        }
37
    }
38
39
    abstract protected function read($line);
40
}
41