Added the "opened issues" badge

This commit is contained in:
Matthieu Napoli
2014-09-09 22:33:31 +07:00
parent a3ac68341f
commit ad3b399b96
10 changed files with 155 additions and 93 deletions

View File

@@ -27,10 +27,12 @@ class StatisticsComputer implements StatisticsProvider
{
$issues = $this->fetchIssues($user, $repository);
$collaborators = $this->fetchCollaborators($user, $repository);
$issues = $this->excludeIssuesCreatedByCollaborators($issues, $collaborators);
$statistics = new Statistics();
$statistics->resolutionTime = $this->computeResolutionTime($issues);
$statistics->openIssuesRatio = $this->computeOpenIssueRatio($issues);
return $statistics;
}
@@ -48,6 +50,27 @@ class StatisticsComputer implements StatisticsProvider
return new TimeInterval($this->median($durations));
}
/**
* @param Issue[] $issues
* @return float
*/
private function computeOpenIssueRatio(array $issues)
{
if (empty($issues)) {
return 0;
}
$openIssues = 0;
foreach ($issues as $issue) {
if ($issue->isOpen()) {
$openIssues++;
}
}
return $openIssues / count($issues);
}
/**
* @param Issue[] $issues
* @param string[] $collaborators