Passed
Pull Request — master (#30)
by De Cramer
08:52
created

ChainWorkDirManager::getLocalTmpWorkDir()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 5
c 1
b 0
f 0
nc 2
nop 2
dl 0
loc 10
rs 10
1
<?php
2
declare(strict_types=1);
3
4
namespace Oliverde8\Component\PhpEtl;
5
6
use Oliverde8\Component\PhpEtl\Model\ExecutionInterface;
7
use Oliverde8\Component\PhpEtl\Model\File\LocalFileSystem;
8
9
class ChainWorkDirManager
10
{
11
    private string $baseDir;
12
13
    private LocalFileSystem $fileSystem;
14
15
    public function __construct(string $baseDir)
16
    {
17
        $this->baseDir = $baseDir;
18
        $this->fileSystem = new LocalFileSystem('/');
19
    }
20
21
    public function getLocalTmpWorkDir(ExecutionInterface $execution, $createIfMissing = true): string
22
    {
23
        $currentTime = $execution->getCreateTime()->format("y/m/d");
24
        $dir = $this->baseDir . "/" . $currentTime . "/id-" . $execution->getId();
25
26
        if ($createIfMissing) {
27
            $this->fileSystem->createDirectory($dir);
28
        }
29
30
        return $dir;
31
    }
32
}