Total Complexity | 7 |
Total Lines | 63 |
Duplicated Lines | 0 % |
Coverage | 88.89% |
Changes | 1 | ||
Bugs | 0 | Features | 1 |
1 | <?php |
||
8 | trait HasMediaRepositoryTrait |
||
9 | { |
||
10 | /** |
||
11 | * @var null|MediaRepository |
||
12 | */ |
||
13 | protected $mediaRepository = null; |
||
14 | |||
15 | /** |
||
16 | * @return MediaRepository|null |
||
17 | */ |
||
18 | 8 | public function getMediaRepository() |
|
19 | { |
||
20 | 8 | if ($this->mediaRepository == null) { |
|
21 | 7 | $this->initMediaRepository(); |
|
22 | } |
||
23 | |||
24 | 8 | return $this->mediaRepository; |
|
25 | } |
||
26 | |||
27 | /** |
||
28 | * @param MediaRepository $repository |
||
29 | * |
||
30 | * @return void |
||
31 | */ |
||
32 | 9 | public function setMediaRepository($repository) |
|
33 | { |
||
34 | 9 | $this->mediaRepository = $repository; |
|
35 | 9 | } |
|
36 | |||
37 | 7 | protected function initMediaRepository() |
|
38 | { |
||
39 | 7 | $mediaRepository = $this->newMediaRepository(); |
|
40 | 7 | $mediaRepository = $this->hydrateMediaRepository($mediaRepository); |
|
41 | 7 | $this->setMediaRepository($mediaRepository); |
|
42 | 7 | } |
|
43 | |||
44 | /** |
||
45 | * @return MediaRepository |
||
46 | */ |
||
47 | 7 | protected function newMediaRepository() |
|
53 | } |
||
54 | |||
55 | /** |
||
56 | * @return string |
||
57 | */ |
||
58 | protected function getMediaRepositoryClass() |
||
59 | { |
||
60 | return MediaRepository::class; |
||
61 | } |
||
62 | |||
63 | /** |
||
64 | * @param $mediaRepository |
||
65 | * |
||
66 | * @return MediaRepository |
||
67 | */ |
||
68 | protected function hydrateMediaRepository($mediaRepository) |
||
71 | } |
||
72 | } |
||
73 |