Code Duplication    Length = 35-35 lines in 2 locations

src/models/decorators/server/HddResourceDecorator.php 1 location

@@ 15-49 (lines=35) @@
12
13
use Yii;
14
15
class HddResourceDecorator extends AbstractServerResourceDecorator
16
{
17
    public function displayTitle()
18
    {
19
        return Yii::t('hipanel:server:order', 'SSD');
20
    }
21
22
    public function displayPrepaidAmount()
23
    {
24
        return Yii::t('yii', '{nFormatted} GB', ['nFormatted' => $this->getPrepaidQuantity()]); // Gb
25
    }
26
27
    public function getOverusePrice()
28
    {
29
        return 0.2; // TODO: move to config
30
    }
31
32
    public function getPrepaidQuantity()
33
    {
34
        $part = $this->resource->part;
35
        preg_match('/((\d{1,5}) GB)$/i', $part->partno, $matches);
36
37
        return (int)$matches[2];
38
    }
39
40
    public function displayUnit()
41
    {
42
        return Yii::t('hipanel', 'GB');
43
    }
44
45
    public function toUnit(): string
46
    {
47
        return 'gb';
48
    }
49
}
50

src/models/decorators/server/RamResourceDecorator.php 1 location

@@ 15-49 (lines=35) @@
12
13
use Yii;
14
15
class RamResourceDecorator extends AbstractServerResourceDecorator
16
{
17
    public function displayTitle()
18
    {
19
        return Yii::t('hipanel:server:order', 'RAM');
20
    }
21
22
    public function getPrepaidQuantity()
23
    {
24
        $part = $this->resource->part;
25
        preg_match('/((\d{1,5}) MB)$/i', $part->partno, $matches);
26
27
        return $matches[2] / 1024;
28
    }
29
30
    public function getOverusePrice()
31
    {
32
        return 4; // TODO: move to config
33
    }
34
35
    public function displayUnit()
36
    {
37
        return Yii::t('hipanel', 'GB');
38
    }
39
40
    public function toUnit(): string
41
    {
42
        return 'gb';
43
    }
44
45
    public function displayPrepaidAmount()
46
    {
47
        return Yii::t('yii', '{nFormatted} GB', ['nFormatted' => $this->getPrepaidQuantity()]);
48
    }
49
}
50