AbstractCsvFixtureLoader::getCsvFixtureData()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 15
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 2
eloc 9
c 1
b 0
f 1
nc 2
nop 0
dl 0
loc 15
rs 9.9666
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Bone\BoneDoctrine\Fixture;
6
7
use League\Csv\Reader;
8
9
abstract class AbstractCsvFixtureLoader
10
{
11
    protected function getCsvFixtureData(): \Iterator
12
    {
13
        $file = $this->getCsvFileName();
14
15
        if (!file_exists($file)) {
16
            throw new \InvalidArgumentException($file . ' does not exist.');
17
        }
18
19
        $csv = Reader::createFromPath($file);
20
        $csv->setHeaderOffset(0);
21
        $header = $csv->getHeader();
22
        $records = $csv->getRecords($header);
23
        $records->rewind();
24
25
        return $records;
26
    }
27
28
    abstract public function getCsvFileName(): string;
29
}
30
31