Pickle\Package\Convey\Command\Pickle::prepare PHP Метод

prepare() защищенный Метод

protected prepare ( )
    protected function prepare()
    {
        if (Type::determinePickle($this->path, $matches) < 1) {
            throw new \Exception('Not a pickle git URI');
        }
        $this->name = $matches['package'];
        $extension = $this->fetchPackageJson();
        $versionParser = new VersionParser();
        if ($matches['version'] == '') {
            $versions = array_keys($extension['packages'][$this->name]);
            if (count($versions) > 1) {
                $versionToUse = $versions[1];
            } else {
                $versionToUse = $versions[0];
            }
        } else {
            $versionConstraints = $versionParser->parseConstraints($matches['version']);
            /* versions are sorted decreasing */
            foreach ($extension['packages'][$this->name] as $version => $release) {
                $constraint = new VersionConstraint('=', $versionParser->normalize($version));
                if ($versionConstraints->matches($constraint)) {
                    $versionToUse = $version;
                    break;
                }
            }
        }
        $package = $extension['packages'][$this->name][$versionToUse];
        $this->version = $versionToUse;
        $this->normalizedVersion = $versionParser->normalize($versionToUse);
        $this->name = $matches['package'];
        $this->prettyVersion = $this->version;
        $this->url = $package['source']['url'];
        $this->reference = $package['source']['reference'];
        $this->type = $package['source']['type'];
    }