Passed
Pull Request — master (#17)
by ARCANEDEV
05:21
created

MediaCollection   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 7
c 1
b 0
f 0
dl 0
loc 45
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A all() 0 6 1
A directories() 0 3 1
A files() 0 3 1
1
<?php namespace Arcanesoft\Media\Entities;
2
3
use Illuminate\Support\Collection;
4
5
/**
6
 * Class     MediaCollection
7
 *
8
 * @package  Arcanesoft\Media\Entities
9
 * @author   ARCANEDEV <[email protected]>
10
 */
11
class MediaCollection
12
{
13
    /* -----------------------------------------------------------------
14
     |  Main Methods
15
     | -----------------------------------------------------------------
16
     */
17
18
    /**
19
     * Get all the directories items.
20
     *
21
     * @param  array  $directories
22
     *
23
     * @return \Illuminate\Support\Collection
24
     */
25
    public static function directories(array $directories)
26
    {
27
        return Collection::make($directories)->mapInto(DirectoryItem::class);
28
    }
29
30
    /**
31
     * Get all the files items.
32
     *
33
     * @param  array  $files
34
     *
35
     * @return \Illuminate\Support\Collection
36
     */
37
    public static function files(array $files)
38
    {
39
        return Collection::make($files)->mapInto(FileItem::class);
40
    }
41
42
    /**
43
     * Get all the items.
44
     *
45
     * @param  array  $directories
46
     * @param  array  $files
47
     *
48
     * @return \Illuminate\Support\Collection
49
     */
50
    public static function all(array $directories, array $files)
51
    {
52
        return Collection::make([
53
            static::directories($directories),
54
            static::files($files),
55
        ])->flatten(1);
56
    }
57
}
58