Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
- Base: wintercms/winter branch 1.2 (full framework) - Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS - Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication - Partials: hero (offline-first), features, modes (offline/nube toggle), screenshots, pricing (3 planes), comparison, FAQ, CTA - Plugin VivesPOS.Site with ContactForm - Dockerfile: PHP 8.2 Apache, port 80, healthcheck - Added winter/wn-pages, blog, sitemap, seo plugins - Active theme set to vivespos
72 lines
1.9 KiB
PHP
72 lines
1.9 KiB
PHP
<?php namespace System\Console;
|
|
|
|
use System\Console\BaseScaffoldCommand;
|
|
|
|
class CreateJob extends BaseScaffoldCommand
|
|
{
|
|
/**
|
|
* @var string|null The default command name for lazy loading.
|
|
*/
|
|
protected static $defaultName = 'create:job';
|
|
|
|
/**
|
|
* @var string The name and signature of this command.
|
|
*/
|
|
protected $signature = 'create:job
|
|
{plugin : The name of the plugin. <info>(eg: Winter.Blog)</info>}
|
|
{name : The name of the job class to generate. <info>(eg: ImportPosts)</info>}
|
|
{--b|batchable : Generates a batchable queue job.}
|
|
{--s|sync : Generates a non-queueable job.}
|
|
{--f|force : Overwrite existing files with generated files.}
|
|
{--uninspiring : Disable inspirational quotes}
|
|
';
|
|
|
|
/**
|
|
* @var string The console command description.
|
|
*/
|
|
protected $description = 'Creates a new job class.';
|
|
|
|
/**
|
|
* @var array List of commands that this command replaces (aliases)
|
|
*/
|
|
protected $replaces = [
|
|
'make:job',
|
|
];
|
|
|
|
/**
|
|
* @var string The type of class being generated.
|
|
*/
|
|
protected $type = 'Job';
|
|
|
|
/**
|
|
* @var array A mapping of stubs to generated files.
|
|
*/
|
|
protected $jobStubs = [
|
|
'sync' => [
|
|
'scaffold/job/job.stub' => 'jobs/{{studly_name}}.php',
|
|
],
|
|
'batched' => [
|
|
'scaffold/job/job.batched.stub' => 'jobs/{{studly_name}}.php',
|
|
],
|
|
'queued' => [
|
|
'scaffold/job/job.queued.stub' => 'jobs/{{studly_name}}.php',
|
|
],
|
|
];
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function prepareVars(): array
|
|
{
|
|
if ($this->option('sync')) {
|
|
$this->stubs = $this->jobStubs['sync'];
|
|
} elseif ($this->option('batchable')) {
|
|
$this->stubs = $this->jobStubs['batched'];
|
|
} else {
|
|
$this->stubs = $this->jobStubs['queued'];
|
|
}
|
|
|
|
return parent::prepareVars();
|
|
}
|
|
}
|