Skip to content

Commit

Permalink
1.0.3 (view changelog)
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexey Samara committed Dec 21, 2017
1 parent 7061418 commit 565d34c
Showing 1 changed file with 60 additions and 49 deletions.
109 changes: 60 additions & 49 deletions Service/Packagist.php
Original file line number Diff line number Diff line change
Expand Up @@ -265,60 +265,71 @@ private function addPackageVersions(Package &$package, array $packageArray)
continue;
}

$packageVersion = new PackageVersion();

$packageVersion
->setName($version['name'] ?? '')
->setDescription($version['description'] ?? '')
->setKeywords($version['keywords'] ?? [])
->setHomepage($version['homepage'] ?? '')
->setVersion($version['version'])
->setVersionNormalized($version['version_normalized'] ?? '')
->setLicense($version['license'][0] ?? '')
->setAuthors(new \ArrayObject())
->setSource(
new PackageSource(
$version['source']['type'] ?? '',
$version['source']['url'] ?? '',
$version['source']['reference'] ?? ''
)
)
->setDist(
new PackageDist(
$version['dist']['type'] ?? '',
$version['dist']['url'] ?? '',
$version['dist']['reference'] ?? '',
$version['dist']['shasum'] ?? ''
)
)
->setType($version['type'] ?? '')
->setTime($version['time'] ?? '')
->setAutoload($version['autoload'] ?? [])
->setRequire(new \ArrayObject())
;
$packageVersion = $this->createPackageVersion($version);

if (!empty($version['authors'])) {
foreach ($version['authors'] as $author) {
$packageVersion->getAuthors()->append(
new PackageAuthor(
$author['name'] ?? '',
$author['email'] ?? '',
$author['homepage'] ?? '',
$author['role'] ?? ''
)
);
}
}
$package->getVersions()->offsetSet($packageVersion->getVersion(), $packageVersion);
}
}
}

if (!empty($version['require'])) {
foreach ($version['require'] as $name => $ver) {
$packageVersion->getRequire()->append(new PackageDependency($name, $ver));
}
}
/**
* @param array $version
* @return PackageVersion
*/
private function createPackageVersion(array $version): PackageVersion
{
$packageVersion = new PackageVersion();

$packageVersion
->setName($version['name'] ?? '')
->setDescription($version['description'] ?? '')
->setKeywords($version['keywords'] ?? [])
->setHomepage($version['homepage'] ?? '')
->setVersion($version['version'])
->setVersionNormalized($version['version_normalized'] ?? '')
->setLicense($version['license'][0] ?? '')
->setAuthors(new \ArrayObject())
->setSource(
new PackageSource(
$version['source']['type'] ?? '',
$version['source']['url'] ?? '',
$version['source']['reference'] ?? ''
)
)
->setDist(
new PackageDist(
$version['dist']['type'] ?? '',
$version['dist']['url'] ?? '',
$version['dist']['reference'] ?? '',
$version['dist']['shasum'] ?? ''
)
)
->setType($version['type'] ?? '')
->setTime($version['time'] ?? '')
->setAutoload($version['autoload'] ?? [])
->setRequire(new \ArrayObject())
;

$package->getVersions()->offsetSet($packageVersion->getVersion(), $packageVersion);
if (!empty($version['authors'])) {
foreach ($version['authors'] as $author) {
$packageVersion->getAuthors()->append(
new PackageAuthor(
$author['name'] ?? '',
$author['email'] ?? '',
$author['homepage'] ?? '',
$author['role'] ?? ''
)
);
}
}

if (!empty($version['require'])) {
foreach ($version['require'] as $name => $ver) {
$packageVersion->getRequire()->append(new PackageDependency($name, $ver));
}
}

return $packageVersion;
}

/**
Expand Down

0 comments on commit 565d34c

Please sign in to comment.