File tree 3 files changed +13
-12
lines changed
3 files changed +13
-12
lines changed Original file line number Diff line number Diff line change @@ -436,10 +436,7 @@ impl Crate {
436
436
let stmt = conn. prepare ( "SELECT num FROM versions WHERE crate_id = $1
437
437
AND yanked = 'f'" ) ?;
438
438
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" ) ) ) )
443
440
}
444
441
445
442
pub fn versions ( & self , conn : & GenericConnection ) -> CargoResult < Vec < Version > > {
@@ -708,12 +705,7 @@ pub fn index(req: &mut Request) -> CargoResult<Response> {
708
705
. load :: < Version > ( conn) ?
709
706
. grouped_by ( & crates)
710
707
. 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 ) ) ) ;
717
709
718
710
let crates = versions. zip ( crates) . map ( |( max_version, krate) | {
719
711
// FIXME: If we add crate_id to the Badge enum we can eliminate
Original file line number Diff line number Diff line change @@ -183,7 +183,6 @@ fn new_user(login: &str) -> NewUser {
183
183
name : None ,
184
184
gh_avatar : None ,
185
185
gh_access_token : "some random token" ,
186
- api_token : "some random token" ,
187
186
}
188
187
}
189
188
Original file line number Diff line number Diff line change
1
+ use std:: borrow:: Cow ;
1
2
use std:: collections:: HashMap ;
2
3
3
4
use conduit:: { Request , Response } ;
@@ -191,6 +192,15 @@ impl Version {
191
192
& [ & yanked, & self . id ] ) ?;
192
193
Ok ( ( ) )
193
194
}
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
+ }
194
204
}
195
205
196
206
impl Queryable < versions:: SqlType , Pg > for Version {
@@ -203,7 +213,7 @@ impl Queryable<versions::SqlType, Pg> for Version {
203
213
Version {
204
214
id : row. 0 ,
205
215
crate_id : row. 1 ,
206
- num : semver :: Version :: parse ( & row. 2 ) . unwrap ( ) ,
216
+ num : row. 2 ,
207
217
updated_at : row. 3 ,
208
218
created_at : row. 4 ,
209
219
downloads : row. 5 ,
You can’t perform that action at this time.
0 commit comments