Completed
Push — master ( 2ee75a...9c0444 )
by Miguel
09:44
created

Config::formatRedirectUri()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
dl 0
loc 6
ccs 0
cts 0
cp 0
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 1
crap 6
1
<?php
2
3
namespace SocialiteProviders\Manager;
4
5
use Illuminate\Support\Str;
6
use Illuminate\Support\Facades\URL;
7
8
class Config implements Contracts\ConfigInterface
9
{
10
    /**
11
     * @var array
12
     */
13
    protected $config;
14
15
    /**
16
     * Config constructor.
17 13
     *
18
     * @param string $key
19 13
     * @param string $secret
20 13
     * @param string $callbackUri
21 13
     * @param array  $additionalProviderConfig
22 13
     */
23 13
    public function __construct($key, $secret, $callbackUri, array $additionalProviderConfig = [])
24 13
    {
25
        $this->config = array_merge([
26
            'client_id'     => $key,
27
            'client_secret' => $secret,
28
            'redirect'      => $this->formatRedirectUri($callbackUri),
29 9
        ], $additionalProviderConfig);
30
    }
31 9
32
    /**
33
     * Format the callback URI, resolving a relative URI if needed.
34
     *
35
     * @param  string  $callbackUri
36
     * @return string
37
     */
38
    protected function formatRedirectUri($callbackUri)
39
    {
40
        return Str::startsWith($callbackUri, '/')
41
                    ? URL::to($callbackUri)
42
                    : $callbackUri;
43
    }
44
45
    /**
46
     * @return array
47
     */
48
    public function get()
49
    {
50
        return $this->config;
51
    }
52
}
53