/** * @param Release $release */ public function add(Release $release) { $package = $release->package(); if (!isset($this->releases[$package])) { $this->releases[$package] = ['latest' => ['all' => $release, $release->versionSeries() => $release], 'all' => []]; } else { if (version_compare($release->version(), $this->releases[$package]['latest']['all']->version(), '>=')) { $this->releases[$package]['latest']['all'] = $release; } if (!isset($this->releases[$package]['latest'][$release->versionSeries()]) || version_compare($release->version(), $this->releases[$package]['latest'][$release->versionSeries()]->version(), '>=')) { $this->releases[$package]['latest'][$release->versionSeries()] = $release; } } $this->releases[$package]['all'][] = $release; $this->releases['all'][] = $release; }