for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* Copyright (c) Arnaud Ligny <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Cecil\Step;
use Cecil\Generator\GeneratorManager;
/**
* Generates virtual pages.
class PagesGenerate extends AbstractStep
{
* {@inheritdoc}
public function init($options)
if (count($this->builder->getConfig()->get('generators')) > 0) {
$this->process = true;
}
public function process()
if ($this->process) {
$generatorManager = new GeneratorManager();
$generators = $this->builder->getConfig()->get('generators');
array_walk($generators, function ($generator, $priority) use ($generatorManager) {
if (!class_exists($generator)) {
$message = sprintf("Unable to load generator '%s'", $generator);
call_user_func_array($this->builder->getMessageCb(), ['GENERATE_ERROR', $message]);
return;
$generatorManager->addGenerator(new $generator($this->builder->getConfig()), $priority);
});
call_user_func_array($this->builder->getMessageCb(), ['GENERATE', 'Generating pages']);
$pages = $generatorManager->process($this->builder->getPages(), $this->builder->getMessageCb());
$this->builder->setPages($pages);