LeagueCsv::writer()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 14
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 3

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 14
ccs 7
cts 7
cp 1
rs 9.4285
cc 3
eloc 7
nc 4
nop 1
crap 3
1
<?php
2
namespace Madewithlove\Export\Csv\Traits;
3
4
use League\Csv\Writer;
5
use Madewithlove\Export\Csv\Transformer;
6
use Madewithlove\Export\Csv\WithHeaders;
7
use SplTempFileObject;
8
9
trait LeagueCsv
10
{
11
    /**
12
     * @param \Madewithlove\Export\Csv\Transformer $transformer
13
     *
14
     * @return \League\Csv\Writer
15
     */
16 4
    private function writer(Transformer $transformer = null)
17
    {
18 4
        $writer = Writer::createFromFileObject(new SplTempFileObject());
19
20 4
        if ($transformer instanceof WithHeaders) {
21 1
            $writer->insertOne($transformer->getHeaders());
22
        }
23
24 4
        if ($transformer instanceof Transformer) {
25 1
            $writer->addFormatter([$transformer, 'transform']);
26
        }
27
28 4
        return $writer;
29
    }
30
}
31