@@ -21,30 +21,24 @@ pub type RepositoryCollection = BTreeMap<Option<String>, Vec<RepositoryView>>;
2121
2222type UnprocessedRepositoryView = Result < RepositoryView > ;
2323
24- /// A unit struct that provides [`Self::run()`], which is used to generated [`RepositoryCollection`].
25- #[ derive( Debug ) ]
26- pub struct RepositoryCollector ;
27-
28- impl RepositoryCollector {
29- /// Generate [`RepositoryCollection`] for a given path and its children.
30- pub fn run (
31- path : & Path ,
32- include_email : bool ,
33- include_submodules : bool ,
34- ) -> Result < RepositoryCollection > {
35- let unprocessed = TargetCollector :: run ( path. to_path_buf ( ) ) ?
36- . par_iter ( )
37- . map ( |path| RepositoryView :: new ( path, include_email, include_submodules) )
38- . collect :: < Vec < UnprocessedRepositoryView > > ( ) ;
39-
40- let mut processed = RepositoryCollection :: new ( ) ;
41- for maybe_view in unprocessed {
42- let view = maybe_view?;
43- if let Some ( mut views) = processed. insert ( view. parent . clone ( ) , vec ! [ view. clone( ) ] ) {
44- views. push ( view. clone ( ) ) ;
45- processed. insert ( view. parent , views) ;
46- }
24+ /// Generate [`RepositoryCollection`] for a given path and its children.
25+ pub fn run (
26+ path : & Path ,
27+ include_email : bool ,
28+ include_submodules : bool ,
29+ ) -> Result < RepositoryCollection > {
30+ let unprocessed = TargetCollector :: run ( path. to_path_buf ( ) ) ?
31+ . par_iter ( )
32+ . map ( |path| RepositoryView :: new ( path, include_email, include_submodules) )
33+ . collect :: < Vec < UnprocessedRepositoryView > > ( ) ;
34+
35+ let mut processed = RepositoryCollection :: new ( ) ;
36+ for maybe_view in unprocessed {
37+ let view = maybe_view?;
38+ if let Some ( mut views) = processed. insert ( view. parent . clone ( ) , vec ! [ view. clone( ) ] ) {
39+ views. push ( view. clone ( ) ) ;
40+ processed. insert ( view. parent , views) ;
4741 }
48- Ok ( processed)
4942 }
43+ Ok ( processed)
5044}
0 commit comments