Completed
Pull Request — master (#9)
by Tomáš
05:02
created

ContainerFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 20
ccs 0
cts 15
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A create() 0 9 1
A createAndReturnTempDir() 0 7 1
1
<?php
2
3
/*
4
 * This file is part of Symplify
5
 * Copyright (c) 2016 Tomas Votruba (http://tomasvotruba.cz).
6
 */
7
8
namespace Symplify\PHP7_Sculpin\DI;
9
10
use Nette\Configurator;
11
use Nette\DI\Container;
12
use Nette\Utils\FileSystem;
13
14
final class ContainerFactory
15
{
16
    public function create() : Container
17
    {
18
        $configurator = new Configurator();
19
        $configurator->setTempDirectory($this->createAndReturnTempDir());
20
        $configurator->addConfig(__DIR__.'/../config/default.neon');
21
        $container = $configurator->createContainer();
22
23
        return $container;
24
    }
25
26
    private function createAndReturnTempDir() : string
27
    {
28
        $tempDir = sys_get_temp_dir() . '/php7_sculpin';
29
        FileSystem::delete($tempDir);
30
        FileSystem::createDir($tempDir);
31
        return $tempDir;
32
    }
33
}
34