DataPack::fillTempData()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 2
dl 0
loc 4
ccs 3
cts 3
cp 1
crap 1
rs 10
1
<?php
2
3
namespace kalanis\UploadPerPartes\Uploader;
4
5
6
/**
7
 * Class DataPack
8
 * @package kalanis\UploadPerPartes\Uploader
9
 * Calculations hashes, need for checking content
10
 * Actions over DataStorage
11
 */
12
class DataPack
13
{
14
    protected Data $data;
15
16 25
    public function __construct(Data $data)
17
    {
18 25
        $this->data = $data;
19 25
    }
20
21 16
    public function create(string $targetDir, string $remoteFileName, int $fileSize): Data
22
    {
23 16
        $pack = clone $this->data;
24 16
        $pack->targetDir = $targetDir;
25 16
        $pack->targetName = $remoteFileName;
26 16
        $pack->fileSize = max(0, $fileSize);
27 16
        return $pack;
28
    }
29
30 16
    public function fillSizes(Data $data, int $partsCount, int $bytesPerPart, int $lastKnownPart): Data
31
    {
32 16
        $data->partsCount = max(0, $partsCount);
33 16
        $data->bytesPerPart = max(0, $bytesPerPart);
34 16
        $data->lastKnownPart = max(0, $lastKnownPart);
35 16
        return $data;
36
    }
37
38 15
    public function fillTempData(Data $data, Config $config): Data
39
    {
40 15
        $data->tempDir = $config->tempDir;
41 15
        return $data;
42
    }
43
44 5
    public function nextSegment(Data $data): int
45
    {
46 5
        return $data->lastKnownPart + 1;
47
    }
48
49 4
    public function lastKnown(Data $data, int $segment): Data
50
    {
51 4
        $data->lastKnownPart = max(0, $segment);
52 4
        return $data;
53
    }
54
55 2
    public function getFinalName(Data $data): string
56
    {
57 2
        return $data->targetName;
58
    }
59
}
60