Completed
Push — master ( 6fd5a8...870531 )
by Freek
01:41
created

SnapshotRepository::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 6
rs 9.4285
cc 1
eloc 3
nc 1
nop 2
1
<?php
2
3
namespace Spatie\EventProjector\Snapshots;
4
5
use Illuminate\Contracts\Filesystem\Filesystem;
6
use Illuminate\Support\Collection;
7
use Spatie\EventProjector\EventProjectionist;
8
9
class SnapshotRepository
10
{
11
    /** @var \Illuminate\Contracts\Filesystem\Filesystem */
12
    protected $disk;
13
14
    /** @var \Spatie\EventProjector\EventProjectionist */
15
    protected $eventProjectionist;
16
17
    public function __construct(Filesystem $disk, EventProjectionist $eventProjectionist)
18
    {
19
        $this->disk = $disk;
20
21
        $this->eventProjectionist = $eventProjectionist;
22
    }
23
24
    public function all(): Collection
25
    {
26
        return collect($this->disk->allFiles())->map(function(string $fileName) {
27
            return new Snapshot($this->eventProjectionist, $this->disk, $fileName);
28
        });
29
    }
30
}