File tree Expand file tree Collapse file tree 3 files changed +17
-11
lines changed Expand file tree Collapse file tree 3 files changed +17
-11
lines changed Original file line number Diff line number Diff line change @@ -435,10 +435,8 @@ impl Crate {
435435 let stmt = conn. prepare ( "SELECT num FROM versions WHERE crate_id = $1
436436 AND yanked = 'f'" ) ?;
437437 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 ( ) ) ) )
442440 }
443441
444442 pub fn versions ( & self , conn : & GenericConnection ) -> CargoResult < Vec < Version > > {
@@ -707,12 +705,7 @@ pub fn index(req: &mut Request) -> CargoResult<Response> {
707705 . load :: < Version > ( conn) ?
708706 . grouped_by ( & crates)
709707 . 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 ) ) ) ;
716709
717710 let crates = versions. zip ( crates) . map ( |( max_version, krate) | {
718711 // 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 {
183183 name : None ,
184184 gh_avatar : None ,
185185 gh_access_token : "some random token" ,
186- api_token : "some random token" ,
187186 }
188187}
189188
Original file line number Diff line number Diff line change @@ -192,6 +192,20 @@ impl Version {
192192 & [ & yanked, & self . id ] ) ?;
193193 Ok ( ( ) )
194194 }
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+ }
195209}
196210
197211impl Queryable < versions:: SqlType , Pg > for Version {
You can’t perform that action at this time.
0 commit comments