renderer = $renderer; } /** * @param $fileQueue */ public function setFileQueue(FileQueue $fileQueue) { $this->fileQueue = $fileQueue; } /** * @param $countCodeLines */ public function setCountCodeLines(CountCodeLines $countCodeLines) { $this->countCodeLines = $countCodeLines; } /** * @param DrupalFinder $drupalFinder */ public function setDrupalFinder($drupalFinder) { $this->drupalFinder = $drupalFinder; } /** * @return \Drupal\Console\Core\Style\DrupalStyle */ public function getIo() { return $this->io; } /** * @param \Drupal\Console\Core\Style\DrupalStyle $io */ public function setIo($io) { $this->io = $io; } /** * @param string $template * @param string $target * @param array $parameters * @param null $flag * * @return bool */ protected function renderFile( $template, $target, $parameters = [], $flag = null ) { if (!is_dir(dirname($target))) { if (!mkdir(dirname($target), 0777, true)) { throw new \InvalidArgumentException( sprintf( 'Path "%s" is invalid. You need to provide a valid path.', dirname($target) ) ); } } $currentLine = 0; if (!empty($flag) && file_exists($target)) { $currentLine = count(file($target)); } $content = $this->renderer->render($template, $parameters); if (file_put_contents($target, $content, $flag)) { $this->fileQueue->addFile($target); $newCodeLine = count(file($target)); if ($currentLine > 0) { $newCodeLine = ($newCodeLine-$currentLine); } $this->countCodeLines->addCountCodeLines($newCodeLine); return true; } return false; } public function addSkeletonDir($skeletonDir) { $this->renderer->addSkeletonDir($skeletonDir); } }