public function canAtLeast(array $permission = [])
{
if ($this->special === 'no-access') {
return false;
}
if ($this->special === 'all-access') {
return true;
}
$permissions = $this->getPermissions();
$intersection = array_intersect($permissions, $permission);
$intersectionCount = count($intersection);
return $intersectionCount > 0 ? true : false;
}