Completed
Push — master ( 12e529...b07676 )
by Travis
02:18
created

HasSocials   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
lcom 0
cbo 0
dl 0
loc 21
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A addSocial() 0 8 1
A hasProvider() 0 4 1
A socials() 0 4 1
1
<?php
2
3
namespace NukaCode\Users\Traits;
4
5
use Laravel\Socialite\AbstractUser;
6
use NukaCode\Users\Models\User\Social;
7
8
trait HasSocials
9
{
10
    public function addSocial(AbstractUser $socialUser, $provider)
11
    {
12
        $this->socials()->create([
13
            'provider'  => $provider,
14
            'social_id' => $socialUser->getId(),
15
            'avatar'    => $socialUser->getAvatar(),
16
        ]);
17
    }
18
19
    public function hasProvider($provider)
20
    {
21
        return $this->socials()->where('provider', $provider)->count() > 0;
22
    }
23
24
    public function socials()
25
    {
26
        return $this->hasMany(Social::class, 'user_id');
27
    }
28
}
29