Travis config update Removed HHVM script as Laravel no longer support HHVM after releasing 5.3
47 lines
1.3 KiB
PHP
47 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Barryvdh\Debugbar\DataCollector;
|
|
|
|
use Barryvdh\Debugbar\DataFormatter\SimpleFormatter;
|
|
use DebugBar\DataCollector\MessagesCollector;
|
|
use Illuminate\Contracts\Auth\Access\Gate;
|
|
use Illuminate\Contracts\Auth\Access\Authorizable;
|
|
use Illuminate\Contracts\Auth\Authenticatable;
|
|
use Symfony\Component\VarDumper\Cloner\VarCloner;
|
|
|
|
/**
|
|
* Collector for Laravel's Auth provider
|
|
*/
|
|
class GateCollector extends MessagesCollector
|
|
{
|
|
/**
|
|
* @param Gate $gate
|
|
*/
|
|
public function __construct(Gate $gate)
|
|
{
|
|
parent::__construct('gate');
|
|
$this->setDataFormatter(new SimpleFormatter());
|
|
$gate->after([$this, 'addCheck']);
|
|
}
|
|
|
|
public function addCheck(Authorizable $user = null, $ability, $result, $arguments = [])
|
|
{
|
|
$userKey = 'user';
|
|
$userId = null;
|
|
|
|
if ($user) {
|
|
$userKey = snake_case(class_basename($user));
|
|
$userId = $user instanceof Authenticatable ? $user->getAuthIdentifier() : $user->id;
|
|
}
|
|
|
|
$label = $result ? 'success' : 'error';
|
|
|
|
$this->addMessage([
|
|
'ability' => $ability,
|
|
'result' => $result,
|
|
$userKey => $userId,
|
|
'arguments' => $this->getDataFormatter()->formatVar($arguments),
|
|
], $label, false);
|
|
}
|
|
}
|