DataPack   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 18
c 1
b 0
f 0
dl 0
loc 46
ccs 24
cts 24
cp 1
rs 10
wmc 7

7 Methods

Rating   Name   Duplication   Size   Complexity  
A getFinalName() 0 3 1
A fillTempData() 0 4 1
A fillSizes() 0 6 1
A create() 0 7 1
A __construct() 0 3 1
A lastKnown() 0 4 1
A nextSegment() 0 3 1
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