This repository was archived by the owner on Apr 12, 2020. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -10,16 +10,9 @@ static function createFromRequest(Request $request)
1010 {
1111 $ parameters = $ request ->query ;
1212
13- $ version = $ parameters ->get ('from_version ' , 0.0 );
14- $ versionFilter = new VersionFilter ($ version );
13+ $ version = $ parameters ->get ('from_version ' , 0.0 );
14+ $ filter = new VersionFilter ($ version );
1515
16- if ($ parameters ->has ('levels ' )) {
17- $ levels = explode (', ' , $ parameters ->get ('levels ' ));
18- $ featureFilter = new FeatureFilter ($ levels );
19-
20- $ versionFilter ->setFeatureFilter ($ featureFilter );
21- }
22-
23- return new ChangeLogFilter ($ versionFilter );
16+ return new ChangeLogFilter ($ filter );
2417 }
2518}
Original file line number Diff line number Diff line change 66
77class VersionFilter
88{
9- protected $ featureFilter ;
109 protected $ minimumVersion ;
1110
1211 public function __construct ($ minimumVersion )
1312 {
1413 $ this ->minimumVersion = $ minimumVersion ;
1514 }
1615
17- public function setFeatureFilter (FeatureFilter $ featureFilter )
18- {
19- $ this ->featureFilter = $ featureFilter ;
20- }
21-
2216 public function filter (Version $ version )
2317 {
2418 if (!$ this ->isTrue ($ version )) {
@@ -28,11 +22,7 @@ public function filter(Version $version)
2822 $ result = new Version ($ version ->getVersion (), $ version ->getDate ());
2923
3024 foreach ($ version ->getFeatures () as $ feature ) {
31- if (null === $ this ->featureFilter ) {
32- $ result ->addFeature ($ feature );
33- } elseif (null !== $ filter = $ this ->featureFilter ->filter ($ feature )) {
34- $ result ->addFeature ($ filter );
35- }
25+ $ result ->addFeature ($ feature );
3626 }
3727
3828 return $ result ;
Original file line number Diff line number Diff line change 55use Buzz \Browser ;
66use Buzz \Client \Curl ;
77
8- use Gitonomy \ChangeLog \Parser \Parser ;
8+ use Gitonomy \ChangeLog \Parser \ChangeLogParser ;
99
1010class GithubLoader implements LoaderInterface
1111{
@@ -22,7 +22,7 @@ public function load()
2222 }
2323
2424 $ content = $ response ->getContent ();
25- $ parser = new Parser ();
25+ $ parser = new ChangeLogParser ();
2626
2727 return $ parser ->parse ($ content );
2828 }
Original file line number Diff line number Diff line change 1616use Gitonomy \ChangeLog \Node \Version ;
1717use Gitonomy \ChangeLog \Node \Feature ;
1818
19- class Parser
19+ abstract class Parser
2020{
2121 protected $ cursor ;
2222 protected $ content ;
2323 protected $ length ;
2424
25- public function parse ($ content )
26- {
27- $ this ->cursor = 0 ;
28- $ this ->content = $ content ;
29- $ this ->length = strlen ($ this ->content );
30-
31- $ changeLog = new ChangeLog ();
32-
33- while (!$ this ->isFinished ()) {
34-
35- if ($ this ->expects ('* ' )) {
36- $ version = $ this ->consumeTo ("\n" );
37-
38- preg_match ('#v(?P<version>[^/]+) \((?P<date>[0-9]{4}-[0-9]{2}-[0-9]{2})\)# ' , $ version , $ versionData );
39-
40- if (array () === $ versionData ) {
41- $ version = new Version ($ version );
42- } else {
43- $ version = new Version ($ versionData ['version ' ], $ versionData ['date ' ]);
44- }
45-
46- $ changeLog ->addVersion ($ version );
47- }
48-
49- if ($ this ->expects (' * ' )) {
50- $ feature = $ this ->consumeTo ("\n" );
51-
52- preg_match ('#(?P<level>\w+) (?P<feature>[^.]+)# ' , $ feature , $ featureData );
53-
54- if (null === $ version ) {
55- continue ;
56- }
57-
58- $ version ->addFeature (new Feature ($ featureData ['level ' ], $ featureData ['feature ' ]));
59- }
60-
61- $ this ->consumeNewLine ();
62- }
63-
64- return $ changeLog ;
65- }
25+ abstract function parse ($ content );
6626
6727 public function isFinished ()
6828 {
You can’t perform that action at this time.
0 commit comments