Completed
Push — develop ( f101a1...f94113 )
by Chris
12s
created

AbstractSegmentTag   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 0
dl 0
loc 21
ccs 10
cts 10
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A readLines() 0 16 4
read() 0 1 ?
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 AbstractSegmentTag implements DumpableInterface
17
{
18 1
    public function readLines(array &$lines)
19
    {
20 1
        foreach ($lines as $key => $line) {
21 1
            if (0 === strpos($line, static::TAG_IDENTIFIER)) {
22 1
                $this->read($line);
23
24 1
                unset($lines[$key]);
25
26 1
                return;
27
            }
28
29 1
            if (0 !== strpos('#', $line)) {
30 1
                return;
31
            }
32 1
        }
33 1
    }
34
35
    abstract protected function read($line);
36
}
37