<?php
namespace Silber\Bouncer\Conductors;
use Illuminate\Support\Collection;
use Silber\Bouncer\Database\Models;
use Silber\Bouncer\Helpers;
class AssignsRoles
{
protected $roles;
public function __construct($roles)
{
$this->roles = Helpers::toArray($roles);
}
public function to($authority)
{
$authorities = is_array($authority) ? $authority : [$authority];
$roles = Models::role()->findOrCreateRoles($this->roles);
foreach (Helpers::mapAuthorityByClass($authorities) as $class => $ids) {
$this->assignRoles($roles, $class, new Collection($ids));
}
return true;
}