Code Duplication    Length = 21-24 lines in 2 locations

src/Traits/HasRoles.php 1 location

@@ 81-104 (lines=24) @@
78
     *
79
     * @return $this
80
     */
81
    public function assignRole(...$roles)
82
    {
83
        $roles = collect($roles)
84
            ->flatten()
85
            ->map(function ($role) {
86
                if (empty($role)) {
87
                    return false;
88
                }
89
90
                return $this->getStoredRole($role);
91
            })
92
            ->filter(function ($role) {
93
                return $role instanceof Role;
94
            })
95
            ->each(function ($role) {
96
                $this->ensureModelSharesGuard($role);
97
            })
98
            ->all();
99
100
        $this->roles()->saveMany($roles);
101
102
        $this->forgetCachedPermissions();
103
104
        return $this;
105
    }
106
107
    /**

src/Traits/HasPermissions.php 1 location

@@ 224-244 (lines=21) @@
221
     *
222
     * @return $this
223
     */
224
    public function givePermissionTo(...$permissions)
225
    {
226
        $permissions = collect($permissions)
227
            ->flatten()
228
            ->map(function ($permission) {
229
                return $this->getStoredPermission($permission);
230
            })
231
            ->filter(function ($permission) {
232
                return $permission instanceof Permission;
233
            })
234
            ->each(function ($permission) {
235
                $this->ensureModelSharesGuard($permission);
236
            })
237
            ->all();
238
239
        $this->permissions()->saveMany($permissions);
240
241
        $this->forgetCachedPermissions();
242
243
        return $this;
244
    }
245
246
    /**
247
     * Remove all current permissions and set the given ones.