for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of Laravel Love.
*
* (c) Anton Komarev <[email protected]>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Cog\Laravel\Love\Reactant\Listeners;
use Cog\Laravel\Love\Reactant\Jobs\IncrementAggregatesJob;
use Cog\Laravel\Love\Reaction\Events\ReactionHasBeenAdded;
use Illuminate\Contracts\Bus\Dispatcher;
use Illuminate\Contracts\Queue\ShouldQueue;
final class IncrementAggregates implements ShouldQueue
{
/**
* @var \Illuminate\Contracts\Bus\Dispatcher
private $dispatcher;
public function __construct(Dispatcher $dispatcher)
$this->dispatcher = $dispatcher;
}
* Handle the event.
* @param \Cog\Laravel\Love\Reaction\Events\ReactionHasBeenAdded $event
* @return void
public function handle(ReactionHasBeenAdded $event): void
$reaction = $event->getReaction();
$reactant = $reaction->getReactant();
$this->dispatcher->dispatch(
new IncrementAggregatesJob($reactant, $reaction)
);