/**
* {@inheritdoc}
*/
public function audit(Auditable $model)
{
$auditors = $model->getAuditors();
foreach ((array) $auditors as $auditor) {
$model = clone $model;
// Review audit
if (!$this->auditReview($model, $auditor)) {
continue;
}
$report = $this->driver($auditor)->audit($model);
// Report audit
$this->app->make('events')->fire(new Events\AuditReport($model, $auditor, $report));
}
}