/**
  * Gets the humanized name of the controller
  *
  * @param bool $plural
  * @return string
  */
 public function getName($plural = false)
 {
     $name = YdCakeInflector::humanize(YdCakeInflector::underscore(str_replace('Controller', '', get_class($this->getOwner()))));
     return $plural ? YdCakeInflector::pluralize($name) : $name;
     //$name = preg_replace('/(?<![A-Z])[A-Z]/', ' \0', str_replace('Controller', '', get_class($this->getOwner())));
     //$name = ucwords(trim(strtolower(str_replace(array('-', '_', '.'), ' ', $name))));
     //return $name . ($plural ? 's' : '');
 }
 /**
  * Adds custom inflection $rules, of either 'plural', 'singular' or 'transliteration' $type.
  *
  * ### Usage:
  *
  * {{{
  * Inflector::rules('plural', array('/^(inflect)or$/i' => '\1ables'));
  * Inflector::rules('plural', array(
  *     'rules' => array('/^(inflect)ors$/i' => '\1ables'),
  *     'uninflected' => array('dontinflectme'),
  *     'irregular' => array('red' => 'redlings')
  * ));
  * Inflector::rules('transliteration', array('/å/' => 'aa'));
  * }}}
  *
  * @param string $type The type of inflection, either 'plural', 'singular' or 'transliteration'
  * @param array $rules Array of rules to be added.
  * @param boolean $reset If true, will unset default inflections for all
  *        new rules that are being defined in $rules.
  * @return void
  */
 public static function rules($type, $rules, $reset = false)
 {
     $var = '_' . $type;
     switch ($type) {
         case 'transliteration':
             if ($reset) {
                 self::$_transliteration = $rules;
             } else {
                 self::$_transliteration = $rules + self::$_transliteration;
             }
             break;
         default:
             foreach ($rules as $rule => $pattern) {
                 if (is_array($pattern)) {
                     if ($reset) {
                         self::${$var}[$rule] = $pattern;
                     } else {
                         if ($rule === 'uninflected') {
                             self::${$var}[$rule] = array_merge($pattern, self::${$var}[$rule]);
                         } else {
                             self::${$var}[$rule] = $pattern + self::${$var}[$rule];
                         }
                     }
                     unset($rules[$rule], self::${$var}['cache' . ucfirst($rule)]);
                     if (isset(self::${$var}['merged'][$rule])) {
                         unset(self::${$var}['merged'][$rule]);
                     }
                     if ($type === 'plural') {
                         self::$_cache['pluralize'] = self::$_cache['tableize'] = array();
                     } elseif ($type === 'singular') {
                         self::$_cache['singularize'] = array();
                     }
                 }
             }
             self::${$var}['rules'] = $rules + self::${$var}['rules'];
     }
 }
 /**
  * Gets the humanized name of the controller
  *
  * @param bool $plural
  * @return string
  */
 public function getName($plural = false)
 {
     Yii::import('dressing.components.YdCakeInflector');
     $name = YdCakeInflector::humanize(YdCakeInflector::underscore(str_replace('Controller', '', get_class($this->getOwner()))));
     return $plural ? YdCakeInflector::pluralize($name) : $name;
 }