Completed
Push — master ( 2b0ce8...94c7b3 )
by ARCANEDEV
8s
created

EloquentRedirector::getRedirectedUrls()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 11
ccs 7
cts 7
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 6
nc 1
nop 0
crap 1
1
<?php namespace Arcanedev\LaravelSeo\Redirectors;
2
3
use Arcanedev\LaravelSeo\Contracts\Redirector;
4
5
/**
6
 * Class     EloquentRedirector
7
 *
8
 * @package  Arcanedev\LaravelSeo\Redirectors
9
 * @author   ARCANEDEV <[email protected]>
10
 */
11
class EloquentRedirector extends AbstractRedirector implements Redirector
12
{
13
    /* -----------------------------------------------------------------
14
     |  Main Methods
15
     | -----------------------------------------------------------------
16
     */
17
    /**
18
     * Get the redirected URLs.
19
     *
20
     * @return array
21
     */
22 3
    public function getRedirectedUrls()
23
    {
24
        /** @var  \Illuminate\Database\Eloquent\Collection  $redirects */
25 3
        $redirects = $this->getRedirectModel()->get();
26
27 3
        return $redirects->keyBy('old_url')
28 3
            ->transform(function ($item) {
29 3
                return [$item->new_url, $item->status];
30 3
            })
31 3
            ->toArray();
32
    }
33
34
    /**
35
     * Get the redirect model.
36
     *
37
     * @return \Arcanedev\LaravelSeo\Models\Redirect
38
     */
39 3
    private function getRedirectModel()
40
    {
41 3
        return app(
42 3
            $this->getOption('model', \Arcanedev\LaravelSeo\Models\Redirect::class)
43 1
        );
44
    }
45
}
46