Services\ModuleBuilder::createModule PHP Method

createModule() public method

public createModule ( $input )
    public function createModule($input)
    {
        $this->generateHashForNullHashModules();
        $this->module_name = $input['name'];
        $this->module_vendor = $input['vendor'];
        $module_alias = $this->generateModuleAlias($this->module_name);
        $this->temp_dir = temp_path() . "/{$module_alias}/{$module_alias}";
        $this->getSelectedForms($input);
        // Copy the template to temporary folder
        $this->copyTemplate();
        // Generate the inner portion of the form
        $this->generateInnerForm();
        // Adjust the template files, based on the input
        $this->adjustFiles($input);
        $requires = $this->getRequiredModulesInfo($input);
        // Save the module configuration as json
        $this->saveModuleConfig($input, $module_alias, $requires);
        // Finally compress the temporary folder
        $zip_file = $this->generateZip($module_alias);
        return $zip_file;
    }