Skip to content

Commit d9bfcdd

Browse files
committed
Fix merge conflicts
1 parent fd999a5 commit d9bfcdd

File tree

3 files changed

+13
-12
lines changed

3 files changed

+13
-12
lines changed

src/krate.rs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -436,10 +436,7 @@ impl Crate {
436436
let stmt = conn.prepare("SELECT num FROM versions WHERE crate_id = $1
437437
AND yanked = 'f'")?;
438438
let rows = stmt.query(&[&self.id])?;
439-
Ok(rows.iter()
440-
.map(|r| Cow::Owned(r.get("num")))
441-
.max_by_key(|v| semver::Version::parse(&v).ok())
442-
.unwrap_or_else(|| Cow::Borrowed("0.0.0")))
439+
Ok(Version::max(rows.iter().map(|r| r.get("num"))))
443440
}
444441

445442
pub fn versions(&self, conn: &GenericConnection) -> CargoResult<Vec<Version>> {
@@ -708,12 +705,7 @@ pub fn index(req: &mut Request) -> CargoResult<Response> {
708705
.load::<Version>(conn)?
709706
.grouped_by(&crates)
710707
.into_iter()
711-
.map(|versions| {
712-
versions.into_iter()
713-
.map(|v| v.num)
714-
.max()
715-
.unwrap_or_else(|| semver::Version::parse("0.0.0").unwrap())
716-
});
708+
.map(|versions| Version::max(versions.into_iter().map(|v| v.num)));
717709

718710
let crates = versions.zip(crates).map(|(max_version, krate)| {
719711
// FIXME: If we add crate_id to the Badge enum we can eliminate

src/tests/all.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@ fn new_user(login: &str) -> NewUser {
183183
name: None,
184184
gh_avatar: None,
185185
gh_access_token: "some random token",
186-
api_token: "some random token",
187186
}
188187
}
189188

src/version.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use std::borrow::Cow;
12
use std::collections::HashMap;
23

34
use conduit::{Request, Response};
@@ -191,6 +192,15 @@ impl Version {
191192
&[&yanked, &self.id])?;
192193
Ok(())
193194
}
195+
196+
pub fn max<T>(versions: T) -> Cow<'static, str> where
197+
T: IntoIterator<Item=String>,
198+
{
199+
versions.into_iter()
200+
.map(Cow::Owned)
201+
.max_by_key(|v| semver::Version::parse(&v).ok())
202+
.unwrap_or_else(|| Cow::Borrowed("0.0.0"))
203+
}
194204
}
195205

196206
impl Queryable<versions::SqlType, Pg> for Version {
@@ -203,7 +213,7 @@ impl Queryable<versions::SqlType, Pg> for Version {
203213
Version {
204214
id: row.0,
205215
crate_id: row.1,
206-
num: semver::Version::parse(&row.2).unwrap(),
216+
num: row.2,
207217
updated_at: row.3,
208218
created_at: row.4,
209219
downloads: row.5,

0 commit comments

Comments
 (0)