ImageTransformationRepository   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 4
dl 0
loc 30
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A create() 0 8 1
A findById() 0 4 1
1
<?php
2
3
4
namespace HustleWorks\ChuteLaravel\Repositories;
5
6
7
use HustleWorks\Chute\Contracts\ImageTransformationRepositoryInterface;
8
use HustleWorks\Chute\DTO\ImageTransformationRecord;
9
use HustleWorks\Chute\DTO\ImageRecord;
10
use HustleWorks\ChuteLaravel\Models\Image;
11
use HustleWorks\ChuteLaravel\Models\ImageTransformation;
12
13
class ImageTransformationRepository implements ImageTransformationRepositoryInterface
14
{
15
16
    /**
17
     * Create
18
     *
19
     * @param array       $attributes
20
     * @param ImageRecord $image_record that this belongs to
21
     * @return ImageTransformationRecord
22
     */
23
    public function create(array $attributes, ImageRecord $image_record): ImageTransformationRecord
24
    {
25
        /** @var Image $image */
26
        $image = Image::findOrFail($image_record->id);
27
        $image->imageTransformations()->save($transformation = new ImageTransformation($attributes));
28
29
        return new ImageTransformationRecord($transformation->getAttributes());
30
    }
31
32
    /**
33
     * Find By Id
34
     *
35
     * @param $id
36
     * @return ImageTransformationRecord
37
     */
38
    public function findById($id): ImageTransformationRecord
39
    {
40
        return new ImageTransformationRecord(ImageTransformation::findOrFail($id)->getAttributes());
41
    }
42
}