public function checkRole(Model $authority, $roles, $boolean = 'or')
{
$available = $this->getRoles($authority)->intersect($roles);
if ($boolean == 'or') {
return $available->count() > 0;
} elseif ($boolean === 'not') {
return $available->count() === 0;
}
return $available->count() == count((array) $roles);
}