diff --git a/src/Cronard.php b/src/Cronard.php index 0435ec0..47abcad 100644 --- a/src/Cronard.php +++ b/src/Cronard.php @@ -23,7 +23,7 @@ class Cronard { protected $output = true; public function __construct(? string $tab = null) { - if ($tab) { + if ( $tab ) { $this->setTab($tab); } } diff --git a/src/CronardMiddleware.php b/src/CronardMiddleware.php index b11cbb9..484959c 100644 --- a/src/CronardMiddleware.php +++ b/src/CronardMiddleware.php @@ -11,9 +11,9 @@ use Psr\Http\Message\ResponseFactoryInterface, class CronardMiddleware implements MiddlewareInterface { - public string $cronKey; + use CronardTrait; - public array $cronards = []; + public string $cronKey; public array $variables = []; @@ -29,28 +29,15 @@ class CronardMiddleware implements MiddlewareInterface { if ( $this->cronKey === ( $request->getQueryParams()['cronkey'] ?? false ) ) { $response = $this->response->call($this); - $cronard = new Cronard(); - foreach($this->cronards as $tab => $callback) { - $cronard->setTab($tab); - $cronard->run(array_merge([ - $request, - $response, - ], $this->variables), $callback); - } + $this->launch([ + $request, + $response, + ]); return $response; } return $handler->handle($request); } - - public function fromFile(string $filepath) { - if ( ! file_exists($filepath) ) { - throw new \RuntimeException("Given crontab file cannot be found. There could also be a problem at permission level."); - } - - $this->cronards = include($filepath); - return $this; - } } diff --git a/src/CronardTrait.php b/src/CronardTrait.php new file mode 100644 index 0000000..4bda0f9 --- /dev/null +++ b/src/CronardTrait.php @@ -0,0 +1,28 @@ +crontabs as $tab => $callback) { + $cronard->setTab($tab); + $cronard->run(array_merge($this->variables, $variables), $callback); + } + } + + public function fromFile(string $filepath) : self + { + if ( ! file_exists($filepath) ) { + throw new \RuntimeException("Given crontab file cannot be found. There could also be a problem at permission level."); + } + + $this->crontabs = include($filepath); + return $this; + } +} diff --git a/src/composer.json b/src/composer.json deleted file mode 100644 index ea7fa38..0000000 --- a/src/composer.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "mcnd/cronard", - "description": "Cron made simple. Call this every minute and attach a task to your function", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Dave Mc Nicoll", - "email": "mcndave@gmail.com" - } - ], - "require": {}, - "autoload": { - "psr-4": { - "Cronard\\": "src/" - } - } -}