/** * Hydrates configuration * * @param Configuration $config * @param array $array * @return Configuration */ public function hydrates(Configuration $config, array $array) { $array = $this->validator->validates($array); $path = new PathConfiguration(); $path->setBasePath($array['path']['directory'])->setExtensions($array['path']['extensions'])->setExcludedDirs($array['path']['exclude']); $config->setRuleSet(new RuleSet((array) $array['rules']))->setFailureCondition($array['failure'])->setPath($path)->setLogging(new LoggingConfiguration($array['logging'])); return $config; }
/** * @param Configuration $config */ public function validates(Configuration $config) { // graphviz if ($config->getLogging()->getChart('bubbles')) { $graphviz = new Graphviz(); if (!$graphviz->isAvailable()) { throw new \RuntimeException('Graphviz not installed'); } } }