From 6015b6d7c1677ca02a829ca2f25953c794bac89d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Monta=C3=B1ez?= Date: Sat, 6 Jul 2013 20:45:54 -0300 Subject: [PATCH] Change general config file. --- Mage/Command/BuiltIn/Init.php | 43 +++++++++++++++++++- docs/example-config/.mage/config/general.yml | 12 ++---- 2 files changed, 44 insertions(+), 11 deletions(-) diff --git a/Mage/Command/BuiltIn/Init.php b/Mage/Command/BuiltIn/Init.php index d7f6408..21f493d 100644 --- a/Mage/Command/BuiltIn/Init.php +++ b/Mage/Command/BuiltIn/Init.php @@ -2,6 +2,15 @@ class Mage_Command_BuiltIn_Init extends Mage_Command_CommandAbstract { + protected $generalTemplate = <<<'YML' +# global settings +name: %projectName% +email: %notificationEmail% +notifications: %notificationEnabled% +logging: %loggingEnabled% +maxlogs: %maxlogs% +YML; + public function run() { $configDir = '.mage'; @@ -15,11 +24,13 @@ class Mage_Command_BuiltIn_Init $results = array(); $results[] = mkdir($configDir); $results[] = mkdir($configDir . '/logs'); + $results[] = file_put_contents($configDir . '/logs/.gitignore', "*\n!.gitignore"); $results[] = mkdir($configDir . '/tasks'); + $results[] = touch($configDir . '/tasks/.gitignore'); $results[] = mkdir($configDir . '/config'); $results[] = mkdir($configDir . '/config/environment'); - $results[] = file_put_contents($configDir . '/config/general.yml', '#global settings' . PHP_EOL . PHP_EOL); - $results[] = file_put_contents($configDir . '/config/scm.yml', '#scm settings' . PHP_EOL . PHP_EOL); + $results[] = touch($configDir . '/config/environment/.gitignore'); + $results[] = file_put_contents($configDir . '/config/general.yml', $this->getGeneralConfig()); if (!in_array(false, $results)) { Mage_Console::output('Success!! The configuration for Magallanes has been generated at .mage directory.'); @@ -29,4 +40,32 @@ class Mage_Command_BuiltIn_Init } } } + + protected function getGeneralConfig() + { + // Assamble Global Settings + $projectName = $this->getConfig()->getParameter('name', ''); + $notificationEmail = $this->getConfig()->getParameter('email', ''); + $notificationEnabled = ($notificationEmail != '') ? 'true' : 'false'; + + $globalSettings = str_replace( + array( + '%projectName%', + '%notificationEmail%', + '%notificationEnabled%', + '%loggingEnabled%', + '%maxlogs%', + ), + array( + $projectName, + $notificationEmail, + $notificationEnabled, + 'true', + 30 + ), + $this->generalTemplate + ); + + return $globalSettings; + } } \ No newline at end of file diff --git a/docs/example-config/.mage/config/general.yml b/docs/example-config/.mage/config/general.yml index 45284ce..66f79ce 100644 --- a/docs/example-config/.mage/config/general.yml +++ b/docs/example-config/.mage/config/general.yml @@ -1,11 +1,5 @@ #general settings +name: My fantastic App +email: andresmontanez@gmail.com +notifications: true logging: true -mail: - enabled: true - from: andresmontanez@gmail.com - password: xxxxxx - smtp: smtp.gmail.com - to: - - andresmontanez@gmail.com - - andres.montanez@zenreworks.com -