You are here

public static function SassExtentionsCompassFunctionsSelectors::nest in Sassy 7

File

phamlp/sass/extensions/compass/functions/selectors.php, line 50

Class

SassExtentionsCompassFunctionsSelectors
Compass extension SassScript selectors functions class. A collection of functions for use in SassSCript. @package PHamlP @subpackage Sass.extensions.compass.functions

Code

public static function nest() {
  if (func_num_args() < 2) {
    throw new SassScriptFunctionException('nest() requires two or more arguments', array(), SassScriptParser::$context->node);
  }
  $args = func_get_args();
  $arg = array_shift($args);
  $ancestors = preg_split(self::COMMA_SEPARATOR, $arg->value);
  foreach ($args as $arg) {
    $nested = array();
    foreach (preg_split(self::COMMA_SEPARATOR, $arg->value) as $descenant) {
      foreach ($ancestors as $ancestor) {
        $nested[] = "{$ancestor} {$descenant}";
      }
    }
    $ancestors = $nested;
  }
  sort($nested);
  return new SassString(join(', ', $nested));
}