HelperFactory::createSpecificFileSystemHelper()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 8
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
crap 1
1
<?php
2
3
namespace Box\Spout\Writer\XLSX\Creator;
4
5
use Box\Spout\Common\Helper\Escaper;
6
use Box\Spout\Common\Helper\StringHelper;
7
use Box\Spout\Common\Manager\OptionsManagerInterface;
8
use Box\Spout\Writer\Common\Creator\InternalEntityFactory;
9
use Box\Spout\Writer\Common\Entity\Options;
10
use Box\Spout\Writer\Common\Helper\ZipHelper;
11
use Box\Spout\Writer\XLSX\Helper\FileSystemHelper;
12
13
/**
14
 * Class HelperFactory
15
 * Factory for helpers needed by the XLSX Writer
16
 */
17
class HelperFactory extends \Box\Spout\Common\Creator\HelperFactory
18
{
19
    /**
20
     * @param OptionsManagerInterface $optionsManager
21
     * @param InternalEntityFactory $entityFactory
22
     * @return FileSystemHelper
23
     */
24 43
    public function createSpecificFileSystemHelper(OptionsManagerInterface $optionsManager, InternalEntityFactory $entityFactory)
25
    {
26 43
        $tempFolder = $optionsManager->getOption(Options::TEMP_FOLDER);
27 43
        $zipHelper = $this->createZipHelper($entityFactory);
28 43
        $escaper = $this->createStringsEscaper();
29
30 43
        return new FileSystemHelper($tempFolder, $zipHelper, $escaper);
31
    }
32
33
    /**
34
     * @param InternalEntityFactory $entityFactory
35
     * @return ZipHelper
36
     */
37 43
    private function createZipHelper(InternalEntityFactory $entityFactory)
38
    {
39 43
        return new ZipHelper($entityFactory);
40
    }
41
42
    /**
43
     * @return Escaper\XLSX
44
     */
45 43
    public function createStringsEscaper()
46
    {
47 43
        return new Escaper\XLSX();
48
    }
49
50
    /**
51
     * @return StringHelper
52
     */
53 43
    public function createStringHelper()
54
    {
55 43
        return new StringHelper();
56
    }
57
}
58