Skip to content
Snippets Groups Projects
ResultTrigger.php 1.34 KiB
Newer Older
<?php

namespace App\Observers;

use App\Result;
use Artisan;


class ResultTrigger
{
    private function runTrigger(Result $result) {
        // Only run the trigger for complete data.
        if (! $result->partial) {
            Artisan::call('experiment:call-trigger');
        }
    }

    /**
     * Handle the result "created" event.
     *
     * @param  \App\Result  $result
     * @return void
     */
    public function created(Result $result)
    {
        $this->runTrigger($result);
    }

    /**
     * Handle the result "updated" event.
     *
     * @param  \App\Result  $result
     * @return void
     */
    public function updated(Result $result)
    {
        $this->runTrigger($result);
    }

    /**
     * Handle the result "deleted" event.
     *
     * @param  \App\Result  $result
     * @return void
     */
    public function deleted(Result $result)
    {
        $this->runTrigger($result);
    }

    /**
     * Handle the result "restored" event.
     *
     * @param  \App\Result  $result
     * @return void
     */
    public function restored(Result $result)
    {
        $this->runTrigger($result);
    }

    /**
     * Handle the result "force deleted" event.
     *
     * @param  \App\Result  $result
     * @return void
     */
    public function forceDeleted(Result $result)
    {
        $this->runTrigger($result);
    }
}