NetteAddons\Model\Utils\VersionParser::parseBranch PHP Метод

parseBranch() публичный Метод

public parseBranch ( $branch ) : string
Результат string version string (e.g. '2.0.x-dev')
    public function parseBranch($branch)
    {
        // Inspired by https://github.com/composer/composer/blob/8d7e5c/src/Composer/Repository/VcsRepository.php#L205
        $branch = str_replace('release-', '', $branch);
        $parsedBranch = $this->getParser()->normalizeBranch($branch);
        if ('dev-' === substr($parsedBranch, 0, 4) || '9999999-dev' === $parsedBranch) {
            return 'dev-' . $branch;
        } else {
            return preg_replace('{(\\.9{7})+}', '.x', $parsedBranch);
        }
    }

Usage Example

 /**
  * Returns list of version in repository.
  *
  * @return array (version => hash)
  */
 private function getVersions()
 {
     $versions = array();
     $tags = $this->repository->getTags();
     $branches = $this->repository->getBranches();
     $util = new Utils\VersionParser();
     // TODO: use dependency injection
     foreach ($tags as $tag => $hash) {
         $version = $util->parseTag($tag);
         if (!$version) {
             continue;
         }
         $versions[$version] = $tag;
     }
     foreach ($branches as $branch => $hash) {
         $version = $util->parseBranch($branch);
         $versions[$version] = $branch;
     }
     return $versions;
 }