Example #1
0
    /**
     * _respondWithCommand()
     *
     * @param Zend_Tool_Framework_Metadata_Tool $providerMetadata
     * @param Zend_Tool_Framework_Metadata_Tool $actionMetadata
     * @param Zend_Tool_Framework_Metadata_Tool $specialtyMetadata
     * @param Zend_Tool_Framework_Metadata_Tool $parameterLongMetadata
     * @return Zend_Tool_Framework_Client_Console_HelpSystem
     */
    protected function _respondWithCommand(
        Zend_Tool_Framework_Metadata_Tool $providerMetadata,
        Zend_Tool_Framework_Metadata_Tool $actionMetadata,
        Zend_Tool_Framework_Metadata_Tool $specialtyMetadata,
        Zend_Tool_Framework_Metadata_Tool $parameterLongMetadata)//,
        //Zend_Tool_Framework_Metadata_Tool $parameterShortMetadata)
    {
        $this->_response->appendContent(
            '    zf ' . $actionMetadata->getValue() . ' ' . $providerMetadata->getValue(),
            array('color' => 'cyan', 'separator' => false)
            );

        if ($specialtyMetadata->getSpecialtyName() != '_Global') {
            $this->_response->appendContent('.' . $specialtyMetadata->getValue(), array('color' => 'cyan', 'separator' => false));
        }

        foreach ($parameterLongMetadata->getValue() as $paramName => $consoleParamName) {
            $methodInfo = $parameterLongMetadata->getReference();
            $paramString = ' ' . $consoleParamName;
            if ( ($defaultValue = $methodInfo['parameterInfo'][$paramName]['default']) != null) {
                $paramString .= '[=' . $defaultValue . ']';
            }
            $this->_response->appendContent($paramString . '', array('separator' => false));
        }

       $this->_response->appendContent(null, array('separator' => true));
       return $this;
    }
Example #2
0
 public function testResponseWillApplyDecoratorWithDefaultOptions()
 {
     $separator = new ContentDecorator\Separator();
     $this->_response->addContentDecorator($separator);
     $this->_response->setDefaultDecoratorOptions(array('separator' => true));
     $this->_response->appendContent('foo');
     $this->_response->appendContent('boo');
     $this->assertEquals('foo' . PHP_EOL . 'boo' . PHP_EOL, $this->_response->__toString());
 }
Example #3
0
 /**
  * @param $messages
  * @param $mode
  * @param array $options
  */
 public static function printOut($messages, $mode = self::MSG_NORMAL, $options = array())
 {
     if (null === self::$colorSupport) {
         $color_numbers = @exec('tput colors');
         if (empty($color_numbers)) {
             self::$colorSupport = false;
         } else {
             self::$colorSupport = true;
         }
     }
     if (!self::$response) {
         echo 'no respons object was set' . "\n";
         echo $mode . "\n";
     }
     if (!is_array($messages)) {
         $tmp = $messages;
         $messages = array();
         $messages[] = $tmp;
     }
     foreach ($messages as $key => $message) {
         if (is_array($message)) {
             $tmp = $message;
             $message = $tmp[0];
             if (count($tmp) > 1) {
                 $mode = $tmp[1];
                 if (count($tmp) > 2) {
                     $options = $tmp[2];
                 }
             }
         }
         if (!self::$colorSupport) {
             self::$response->appendContent($message);
         } else {
             switch ($mode) {
                 case self::MSG_ERROR:
                     $width = @exec('tput cols');
                     self::$response->appendContent($message, array('color' => array('hiWhite', 'bgRed'), 'aligncenter' => !empty($width) ? $width : 80));
                     if ($key == count($messages) - 1) {
                         self::$response->appendContent(PHP_EOL);
                     }
                     break;
                 case self::MSG_SPECIAL:
                     self::$response->appendContent($message, $options);
                     break;
                 case self::MSG_NORMAL:
                 default:
                     self::$response->appendContent($message);
                     break;
             }
         }
     }
 }
Example #4
0
    /**
     * Creates the controllers macros file
     *
     * @param Response $response
     */
    protected static function _createControllerMacros(Response $response)
    {
        $ds = DIRECTORY_SEPARATOR;
        $specDir = ".{$ds}spec{$ds}";
        if (file_exists("{$specDir}ControllersMacros.php")) {
            return;
        }
        file_put_contents("{$specDir}ControllersMacros.php", <<<MACRO
<?php

class ControllersMacros extends \\PHPSpec\\Macro
{
    // here you can use your preferred IoC container
    public function inject(\$alias, \$object)
    {
        \$container = Zend_Registry::getInstance();
        \$container->\$alias = \$object;
    }
    
    // ah, the joy of static containers :~}
    public function clearContainer()
    {
        Zend_Registry::_unsetInstance();
    }
}
MACRO
);
        $specHelperPath = "{$specDir}SpecHelper.php";
        $specHelper = file_get_contents($specHelperPath);
        $specHelper = str_replace('<?php' . PHP_EOL, '<?php

$configure->includeMacros("ControllersMacros.php");', $specHelper);
        file_put_contents($specHelperPath, $specHelper);
        $response->appendContent('Creating a controllers\'s macro file in location ' . realpath(".{$ds}spec{$ds}ControllersMacros.php"));
    }
 public function notifyImportCompleted()
 {
     $this->_response->appendContent('[Doctrine] Successfully generated ' . $this->_builtCount . ' record classes.', array('color' => 'green'));
 }