File tree 3 files changed +17
-11
lines changed
3 files changed +17
-11
lines changed Original file line number Diff line number Diff line change @@ -435,10 +435,8 @@ impl Crate {
435
435
let stmt = conn. prepare ( "SELECT num FROM versions WHERE crate_id = $1
436
436
AND yanked = 'f'" ) ?;
437
437
let rows = stmt. query ( & [ & self . id ] ) ?;
438
- Ok ( rows. iter ( )
439
- . map ( |r| semver:: Version :: parse ( & r. get :: < _ , String > ( "num" ) ) . unwrap ( ) )
440
- . max ( )
441
- . unwrap_or_else ( || semver:: Version :: parse ( "0.0.0" ) . unwrap ( ) ) )
438
+ Ok ( Version :: max ( rows. iter ( ) . map ( |r| r. get :: < _ , String > ( "num" ) )
439
+ . map ( |s| semver:: Version :: parse ( & s) . unwrap ( ) ) ) )
442
440
}
443
441
444
442
pub fn versions ( & self , conn : & GenericConnection ) -> CargoResult < Vec < Version > > {
@@ -707,12 +705,7 @@ pub fn index(req: &mut Request) -> CargoResult<Response> {
707
705
. load :: < Version > ( conn) ?
708
706
. grouped_by ( & crates)
709
707
. into_iter ( )
710
- . map ( |versions| {
711
- versions. into_iter ( )
712
- . map ( |v| v. num )
713
- . max ( )
714
- . unwrap_or_else ( || semver:: Version :: parse ( "0.0.0" ) . unwrap ( ) )
715
- } ) ;
708
+ . map ( |versions| Version :: max ( versions. into_iter ( ) . map ( |v| v. num ) ) ) ;
716
709
717
710
let crates = versions. zip ( crates) . map ( |( max_version, krate) | {
718
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 @@ -192,6 +192,20 @@ impl Version {
192
192
& [ & yanked, & self . id ] ) ?;
193
193
Ok ( ( ) )
194
194
}
195
+
196
+ pub fn max < T > ( versions : T ) -> semver:: Version where
197
+ T : IntoIterator < Item =semver:: Version > ,
198
+ {
199
+ versions. into_iter ( )
200
+ . max ( )
201
+ . unwrap_or_else ( || semver:: Version {
202
+ major : 0 ,
203
+ minor : 0 ,
204
+ patch : 0 ,
205
+ pre : vec ! [ ] ,
206
+ build : vec ! [ ] ,
207
+ } )
208
+ }
195
209
}
196
210
197
211
impl Queryable < versions:: SqlType , Pg > for Version {
You can’t perform that action at this time.
0 commit comments