public function generate(Settings $settings, Git $git, Script $script)
{
$this->settings = $settings;
$this->saveNames();
$this->root();
$this->src();
$this->docs();
$this->testing();
if ($this->settings->withPhpcsConfiguration()) {
$this->phpcs();
}
if ($this->settings->withVagrantFile()) {
$this->vagrant();
}
if ($this->settings->withEditorConfig()) {
$this->editorConfig();
}
if ($this->settings->withEnvironmentFiles()) {
$this->environmentFiles();
}
if ($this->settings->withLgtmConfiguration()) {
$this->lgtmFiles();
}
if ($this->settings->withGithubTemplates()) {
$this->githubTemplates();
}
if ($this->settings->withGithubDocs()) {
$this->githubDocs();
}
if ($this->settings->withCodeOfConduct()) {
$this->codeOfConduct();
}
$this->travis();
$this->license($git);
$this->composer($git);
$this->projectClass();
$this->gitignore();
$this->gitmessage();
$this->gitattributes();
if ($this->settings->withGitInit()) {
$this->gitInit($git);
}
$this->composerInstall($script);
$this->scripts($script);
}