<?php namespace Illuminate\Foundation\Console;

use Illuminate\Contracts\Console\Kernel as KernelContract;

class QueuedJob {

	/**
	 * The kernel instance.
	 *
	 * @var \Illuminate\Contracts\Console\Kernel
	 */
	protected $kernel;

	/**
	 * Create a new job instance.
	 *
	 * @param  \Illuminate\Contracts\Console\Kernel  $kernel
	 * @return void
	 */
	public function __construct(KernelContract $kernel)
	{
		$this->kernel = $kernel;
	}

	/**
	 * Fire the job.
	 *
	 * @param  \Illuminate\Queue\Jobs\Job
	 * @param  array  $data
	 * @return void
	 */
	public function fire($job, $data)
	{
		call_user_func_array([$this->kernel, 'call'], $data);

		$job->delete();
	}

}
