public function generate()
{
if (!file_exists($this->path)) {
mkdir($this->path, 0755, true);
}
$this->commandData->commandComment("\nGenerating Views...");
if ($this->commandData->getOption('views')) {
$viewsToBeGenerated = explode(',', $this->commandData->getOption('views'));
if (in_array('index', $viewsToBeGenerated)) {
$this->generateTable();
$this->generateIndex();
}
if (count(array_intersect(['create', 'update'], $viewsToBeGenerated)) > 0) {
$this->generateFields();
}
if (in_array('create', $viewsToBeGenerated)) {
$this->generateCreate();
}
if (in_array('edit', $viewsToBeGenerated)) {
$this->generateUpdate();
}
if (in_array('show', $viewsToBeGenerated)) {
$this->generateShowFields();
$this->generateShow();
}
} else {
$this->generateTable();
$this->generateIndex();
$this->generateFields();
$this->generateCreate();
$this->generateUpdate();
$this->generateShowFields();
$this->generateShow();
}
$this->commandData->commandComment('Views created: ');
}