Skip to content

Commit

Permalink
Fixes bug (issue #14) where metadata was not added to directories.
Browse files Browse the repository at this point in the history
  • Loading branch information
Potherca committed Apr 25, 2016
1 parent d4c8710 commit 8312d42
Showing 1 changed file with 20 additions and 11 deletions.
31 changes: 20 additions & 11 deletions src/Api.php
Original file line number Diff line number Diff line change
Expand Up @@ -591,33 +591,42 @@ private function normalizePathName($path)
*/
private function metadataForDirectory($path)
{
$project = sprintf('%s/%s', $this->settings->getVendor(), $this->settings->getPackage());
$reference = $this->settings->getReference();
$project = sprintf('%s/%s', $this->settings->getVendor(), $this->settings->getPackage());

$url = sprintf(
'%s/repos/%s/contents/%s?ref=%s',
self::GITHUB_API_URL,
$project,
trim($path, '/'),
$path,
$reference
);
$htmlUrl = sprintf(
'%s/%s/blob/%s/%s',
self::GITHUB_URL,
$project,
$reference,
trim($path, '/')
$path
);

$metadata = [
self::KEY_TYPE => self::KEY_DIRECTORY,
'url' => $url,
'html_url' => $htmlUrl,
'_links' => [
'self' => $url,
'html' => $htmlUrl
$directoryContents = $this->getDirectoryContents($path, self::RECURSIVE);

$directoryMetadata = array_filter($directoryContents, function ($entry) use ($path) {
return $entry[self::KEY_PATH] === $path;
});

$metadata = array_merge(
$directoryMetadata[0],
[
self::KEY_TYPE => self::KEY_DIRECTORY,
'url' => $url,
'html_url' => $htmlUrl,
'_links' => [
'self' => $url,
'html' => $htmlUrl
]
]
];
);

return $metadata;
}
Expand Down

0 comments on commit 8312d42

Please sign in to comment.