public function addEntry($entry)
{
if (!$entry instanceof FeatureDirectory && !$entry instanceof FeatureFile) {
throw new \InvalidArgumentException(sprintf('Expected FeatureDirectory or FeatureFile, got "%s".', is_object($entry) ? get_class($entry) : gettype($entry)));
}
$this->entries[] = $entry;
return $this;
}
private function addToDirectory(FeatureDirectory $directory, $feature) { if (false === strpos($feature, '/')) { $directory->addEntry(new FeatureFile($directory, $feature)); return; } list($name, $rest) = explode('/', $feature, 2); $this->addToDirectory($directory->getOrCreateDirectory($name), $rest); }