Code Duplication    Length = 16-16 lines in 2 locations

src/Traits/HasRoles.php 2 locations

@@ 126-141 (lines=16) @@
123
     *
124
     * @return bool
125
     */
126
    public function hasRole($roles): bool
127
    {
128
        if (\is_string($roles) && false !== \strpos($roles, '|')) {
129
            $roles = \explode('|', $roles);
130
        }
131
132
        if (\is_string($roles) || $roles instanceof Role) {
133
            return $this->roles->contains('name', $roles->name ?? $roles);
134
        }
135
136
        $roles = \collect()->make($roles)->map(function ($role) {
137
            return $role instanceof Role ? $role->name : $role;
138
        });
139
140
        return ! $roles->intersect($this->roles->pluck('name'))->isEmpty();
141
    }
142
143
    /**
144
     * Determine if the model has any of the given role(s).
@@ 162-177 (lines=16) @@
159
     *
160
     * @return bool
161
     */
162
    public function hasAllRoles($roles): bool
163
    {
164
        if (\is_string($roles) && false !== strpos($roles, '|')) {
165
            $roles = \explode('|', $roles);
166
        }
167
168
        if (\is_string($roles) || $roles instanceof Role) {
169
            return $this->hasRole($roles);
170
        }
171
172
        $roles = \collect()->make($roles)->map(function ($role) {
173
            return $role instanceof Role ? $role->name : $role;
174
        });
175
176
        return $roles->intersect($this->roles->pluck('name')) == $roles;
177
    }
178
179
    /**
180
     * Return Role object