/**
  * parse and prepare info from docks
  *
  * @throws \InvalidArgumentException
  * @throws \LogicException
  * @throws \Symfony\Component\Yaml\Exception\ParseException
  */
 private function prepareDocumentation()
 {
     foreach (eVersion::getConstants() as $cons => $version) {
         $eVersion = eVersion::get($version);
         $documentation = $this->getDocumentation($eVersion);
         $this->processDocumentation($documentation);
     }
     $this->removeDuplicates();
 }
 /**
  * PermanentlyRemovedGenerator constructor.
  *
  * @throws \Symfony\Component\Yaml\Exception\ParseException
  * @throws \LogicException
  * @throws \LTDBeget\sphinx\informer\exceptions\InformerRuntimeException
  * @throws \LTDBeget\sphinx\informer\exceptions\DocumentationSourceException
  * @throws \InvalidArgumentException
  */
 public function __construct()
 {
     $versions = array_reverse(eVersion::getConstants());
     foreach ($versions as $version) {
         /** @noinspection DisconnectedForeachInstructionInspection */
         array_shift($versions);
         $version = eVersion::get($version);
         $this->processVersion($version, $versions);
     }
 }
 public function testAllOptionInfo()
 {
     foreach (eVersion::getConstants() as $version) {
         $version = eVersion::get($version);
         $informer = Informer::get($version);
         foreach (eSection::getConstants() as $section) {
             $section = eSection::get($section);
             if ($informer->isSectionExist($section)) {
                 foreach ($informer->iterateOptionInfo($section) as $optionInfo) {
                     $optionInfo->getSection();
                     $optionInfo->getName();
                     $optionInfo->getDescription();
                     $optionInfo->getDocLink();
                     $optionInfo->getVersion();
                     $optionInfo->isIsMultiValue();
                 }
             }
         }
     }
 }