Test Setup Failed
Branch master (4b8153)
by Phan
05:07
created

UserPreferenceService   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

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

3 Methods

Rating   Name   Duplication   Size   Complexity  
A get() 0 4 1
A set() 0 8 1
A delete() 0 7 1
1
<?php
2
3
namespace App\Services;
4
5
use App\Models\User;
6
7
class UserPreferenceService
8
{
9
    /**
10
     * @return mixed
11
     */
12
    public function get(User $user, string $key)
13
    {
14
        return array_get((array) unserialize($user->getOriginal('preferences')), $key);
15
    }
16
17
    /**
18
     * @param mixed $val
19
     */
20
    public function set(User $user, string $key, $val): void
21
    {
22
        $preferences = $user->preferences;
23
        $preferences[$key] = $val;
24
        $user->preferences = $preferences;
25
26
        $user->save();
27
    }
28
29
    public function delete(User $user, string $key): void
30
    {
31
        $preferences = $user->preferences;
32
        array_forget($preferences, $key);
33
34
        $user->update(compact('preferences'));
35
    }
36
}
37