#15 Ignore issues older than 6 months

This commit is contained in:
Matthieu Napoli
2014-10-04 12:02:38 +13:00
parent b8f5eaec72
commit 33d6ee1892
5 changed files with 40 additions and 4 deletions

View File

@@ -38,8 +38,10 @@ class StatisticsComputer implements StatisticsProvider
$issues = $this->excludeIssuesCreatedByCollaborators($issues, $collaborators);
$issues = $this->excludeIssuesByLabels($issues, $this->excludedLabels);
$latestIssues = $this->keepLatestIssues($issues);
$statistics = new Statistics();
$statistics->resolutionTime = $this->computeResolutionTime($issues);
$statistics->resolutionTime = $this->computeResolutionTime($latestIssues);
$statistics->openIssuesRatio = $this->computeOpenIssueRatio($issues);
return $statistics;
@@ -114,6 +116,22 @@ class StatisticsComputer implements StatisticsProvider
});
}
/**
* @param Issue[] $issues
* @return Issue[]
*/
private function keepLatestIssues(array $issues)
{
$sixMonthsAgo = new \DateTime('-6 month');
return array_filter($issues, function (Issue $issue) use ($sixMonthsAgo) {
if ($issue->isOpen()) {
return true;
}
return $issue->getOpenedAt() > $sixMonthsAgo;
});
}
/**
* @param float[] $array
* @return float