public function register(array $credentials, $callback = null)
{
if ($callback !== null && !$callback instanceof Closure && !is_bool($callback)) {
throw new InvalidArgumentException('You must provide a closure or a boolean.');
}
$this->fireEvent('sentinel.registering', $credentials);
$valid = $this->users->validForCreation($credentials);
if ($valid === false) {
return false;
}
$argument = $callback instanceof Closure ? $callback : null;
$user = $this->users->create($credentials, $argument);
if ($callback === true) {
$this->activate($user);
}
$this->fireEvent('sentinel.registered', $user);
return $user;
}