Completed
Push — develop ( 3424d9...5f5160 )
by
unknown
19:11
created
vendor/brianhenryie/strauss/tests/Issues/MozartIssue97Test.php 4 patches
Indentation   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -15,16 +15,16 @@  discard block
 block discarded – undo
15 15
 class MozartIssue97Test extends IntegrationTestCase
16 16
 {
17 17
 
18
-    /**
19
-     * Issue 97. Package named "crewlabs/unsplash" is downloaded to `vendor/crewlabs/unsplash` but their composer.json
20
-     * has the package name as "unsplash/unsplash".
21
-     *
22
-     * "The "/Users/BrianHenryIE/Sites/mozart-97/vendor/unsplash/unsplash/src" directory does not exist."
23
-     */
24
-    public function testCrewlabsUnsplashSucceeds()
25
-    {
26
-
27
-        $composerJsonString = <<<'EOD'
18
+	/**
19
+	 * Issue 97. Package named "crewlabs/unsplash" is downloaded to `vendor/crewlabs/unsplash` but their composer.json
20
+	 * has the package name as "unsplash/unsplash".
21
+	 *
22
+	 * "The "/Users/BrianHenryIE/Sites/mozart-97/vendor/unsplash/unsplash/src" directory does not exist."
23
+	 */
24
+	public function testCrewlabsUnsplashSucceeds()
25
+	{
26
+
27
+		$composerJsonString = <<<'EOD'
28 28
 {
29 29
 	"name": "brianhenryie/mozart-issue-97",
30 30
 	"require": {
@@ -39,19 +39,19 @@  discard block
 block discarded – undo
39 39
 }
40 40
 EOD;
41 41
 
42
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
42
+		file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
43 43
 
44
-        chdir($this->testsWorkingDir);
44
+		chdir($this->testsWorkingDir);
45 45
 
46
-        exec('composer install');
46
+		exec('composer install');
47 47
 
48
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
49
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
48
+		$inputInterfaceMock = $this->createMock(InputInterface::class);
49
+		$outputInterfaceMock = $this->createMock(OutputInterface::class);
50 50
 
51
-        $mozartCompose = new Compose();
51
+		$mozartCompose = new Compose();
52 52
 
53
-        $result = $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
53
+		$result = $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
54 54
 
55
-        $this->assertEquals(0, $result);
56
-    }
55
+		$this->assertEquals(0, $result);
56
+	}
57 57
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -39,19 +39,19 @@
 block discarded – undo
39 39
 }
40 40
 EOD;
41 41
 
42
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
42
+        file_put_contents( $this->testsWorkingDir . '/composer.json', $composerJsonString );
43 43
 
44
-        chdir($this->testsWorkingDir);
44
+        chdir( $this->testsWorkingDir );
45 45
 
46
-        exec('composer install');
46
+        exec( 'composer install' );
47 47
 
48
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
49
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
48
+        $inputInterfaceMock = $this->createMock( InputInterface::class );
49
+        $outputInterfaceMock = $this->createMock( OutputInterface::class );
50 50
 
51 51
         $mozartCompose = new Compose();
52 52
 
53
-        $result = $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
53
+        $result = $mozartCompose->run( $inputInterfaceMock, $outputInterfaceMock );
54 54
 
55
-        $this->assertEquals(0, $result);
55
+        $this->assertEquals( 0, $result );
56 56
     }
57 57
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -12,8 +12,7 @@  discard block
 block discarded – undo
12 12
  * @package BrianHenryIE\Strauss\Tests\Issues
13 13
  * @coversNothing
14 14
  */
15
-class MozartIssue97Test extends IntegrationTestCase
16
-{
15
+class MozartIssue97Test extends IntegrationTestCase {
17 16
 
18 17
     /**
19 18
      * Issue 97. Package named "crewlabs/unsplash" is downloaded to `vendor/crewlabs/unsplash` but their composer.json
@@ -21,8 +20,7 @@  discard block
 block discarded – undo
21 20
      *
22 21
      * "The "/Users/BrianHenryIE/Sites/mozart-97/vendor/unsplash/unsplash/src" directory does not exist."
23 22
      */
24
-    public function testCrewlabsUnsplashSucceeds()
25
-    {
23
+    public function testCrewlabsUnsplashSucceeds() {
26 24
 
27 25
         $composerJsonString = <<<'EOD'
28 26
 {
Please login to merge, or discard this patch.
Upper-Lower-Casing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -74,7 +74,7 @@
 block discarded – undo
74 74
 		}
75 75
 	}
76 76
 }
77
-EOD;
77
+eod;
78 78
 
79 79
         file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
80 80
 
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/tests/Issues/MozartIssue48Test.php 4 patches
Indentation   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -20,52 +20,52 @@
 block discarded – undo
20 20
 class MozartIssue48Test extends IntegrationTestCase
21 21
 {
22 22
 
23
-    /**
24
-     * rubix/tensor
25
-     *
26
-     * Mozart was only processing one of the PSR-4 autoload paths, in which case it was not copying (amongst others)
27
-     * `EigenvalueDecomposition.php` at all. Test for its presence.
28
-     */
29
-    public function testRubixTensorBothPathsPersist()
30
-    {
23
+	/**
24
+	 * rubix/tensor
25
+	 *
26
+	 * Mozart was only processing one of the PSR-4 autoload paths, in which case it was not copying (amongst others)
27
+	 * `EigenvalueDecomposition.php` at all. Test for its presence.
28
+	 */
29
+	public function testRubixTensorBothPathsPersist()
30
+	{
31 31
 
32
-        $composerJsonString = <<<'EOD'
32
+		$composerJsonString = <<<'EOD'
33 33
 {
34 34
     "name": "brianhenryie/mozart-issue-48",
35 35
     "require": { "rubix/tensor": "*" }
36 36
 }
37 37
 EOD;
38 38
 
39
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
39
+		file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
40 40
 
41
-        chdir($this->testsWorkingDir);
41
+		chdir($this->testsWorkingDir);
42 42
 
43
-        exec('composer install');
43
+		exec('composer install');
44 44
 
45
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
46
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
45
+		$inputInterfaceMock = $this->createMock(InputInterface::class);
46
+		$outputInterfaceMock = $this->createMock(OutputInterface::class);
47 47
 
48
-        $mozartCompose = new Compose();
48
+		$mozartCompose = new Compose();
49 49
 
50
-        $result = $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
50
+		$result = $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
51 51
         
52
-        // EigenvalueDecomposition.php
53
-        // assert file exists somewhere in the tree
52
+		// EigenvalueDecomposition.php
53
+		// assert file exists somewhere in the tree
54 54
 
55
-        // https://stackoverflow.com/questions/17160696/php-glob-scan-in-subfolders-for-a-file
56
-        $rsearch = function ($folder, $pattern) {
57
-            $dir = new \RecursiveDirectoryIterator($folder);
58
-            $ite = new \RecursiveIteratorIterator($dir);
59
-            $files = new \RegexIterator($ite, $pattern, \RegexIterator::GET_MATCH);
60
-            $fileList = array();
61
-            foreach ($files as $file) {
62
-                $fileList = array_merge($fileList, $file);
63
-            }
64
-            return $fileList;
65
-        };
55
+		// https://stackoverflow.com/questions/17160696/php-glob-scan-in-subfolders-for-a-file
56
+		$rsearch = function ($folder, $pattern) {
57
+			$dir = new \RecursiveDirectoryIterator($folder);
58
+			$ite = new \RecursiveIteratorIterator($dir);
59
+			$files = new \RegexIterator($ite, $pattern, \RegexIterator::GET_MATCH);
60
+			$fileList = array();
61
+			foreach ($files as $file) {
62
+				$fileList = array_merge($fileList, $file);
63
+			}
64
+			return $fileList;
65
+		};
66 66
 
67
-        $found = $rsearch($this->testsWorkingDir . 'strauss', '~EigenvalueDecomposition\.php~');
67
+		$found = $rsearch($this->testsWorkingDir . 'strauss', '~EigenvalueDecomposition\.php~');
68 68
 
69
-        $this->assertNotEmpty($found);
70
-    }
69
+		$this->assertNotEmpty($found);
70
+	}
71 71
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -36,36 +36,36 @@
 block discarded – undo
36 36
 }
37 37
 EOD;
38 38
 
39
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
39
+        file_put_contents( $this->testsWorkingDir . '/composer.json', $composerJsonString );
40 40
 
41
-        chdir($this->testsWorkingDir);
41
+        chdir( $this->testsWorkingDir );
42 42
 
43
-        exec('composer install');
43
+        exec( 'composer install' );
44 44
 
45
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
46
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
45
+        $inputInterfaceMock = $this->createMock( InputInterface::class );
46
+        $outputInterfaceMock = $this->createMock( OutputInterface::class );
47 47
 
48 48
         $mozartCompose = new Compose();
49 49
 
50
-        $result = $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
50
+        $result = $mozartCompose->run( $inputInterfaceMock, $outputInterfaceMock );
51 51
         
52 52
         // EigenvalueDecomposition.php
53 53
         // assert file exists somewhere in the tree
54 54
 
55 55
         // https://stackoverflow.com/questions/17160696/php-glob-scan-in-subfolders-for-a-file
56
-        $rsearch = function ($folder, $pattern) {
57
-            $dir = new \RecursiveDirectoryIterator($folder);
58
-            $ite = new \RecursiveIteratorIterator($dir);
59
-            $files = new \RegexIterator($ite, $pattern, \RegexIterator::GET_MATCH);
56
+        $rsearch = function( $folder, $pattern ) {
57
+            $dir = new \RecursiveDirectoryIterator( $folder );
58
+            $ite = new \RecursiveIteratorIterator( $dir );
59
+            $files = new \RegexIterator( $ite, $pattern, \RegexIterator::GET_MATCH );
60 60
             $fileList = array();
61
-            foreach ($files as $file) {
62
-                $fileList = array_merge($fileList, $file);
61
+            foreach ( $files as $file ) {
62
+                $fileList = array_merge( $fileList, $file );
63 63
             }
64 64
             return $fileList;
65 65
         };
66 66
 
67
-        $found = $rsearch($this->testsWorkingDir . 'strauss', '~EigenvalueDecomposition\.php~');
67
+        $found = $rsearch( $this->testsWorkingDir . 'strauss', '~EigenvalueDecomposition\.php~' );
68 68
 
69
-        $this->assertNotEmpty($found);
69
+        $this->assertNotEmpty( $found );
70 70
     }
71 71
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -17,8 +17,7 @@  discard block
 block discarded – undo
17 17
  * @package BrianHenryIE\Strauss\Tests\Issues
18 18
  * @coversNothing
19 19
  */
20
-class MozartIssue48Test extends IntegrationTestCase
21
-{
20
+class MozartIssue48Test extends IntegrationTestCase {
22 21
 
23 22
     /**
24 23
      * rubix/tensor
@@ -26,8 +25,7 @@  discard block
 block discarded – undo
26 25
      * Mozart was only processing one of the PSR-4 autoload paths, in which case it was not copying (amongst others)
27 26
      * `EigenvalueDecomposition.php` at all. Test for its presence.
28 27
      */
29
-    public function testRubixTensorBothPathsPersist()
30
-    {
28
+    public function testRubixTensorBothPathsPersist() {
31 29
 
32 30
         $composerJsonString = <<<'EOD'
33 31
 {
Please login to merge, or discard this patch.
Upper-Lower-Casing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -34,7 +34,7 @@
 block discarded – undo
34 34
     "name": "brianhenryie/mozart-issue-48",
35 35
     "require": { "rubix/tensor": "*" }
36 36
 }
37
-EOD;
37
+eod;
38 38
 
39 39
         file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
40 40
 
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/tests/Issues/MozartIssue62Test.php 4 patches
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -32,14 +32,14 @@  discard block
 block discarded – undo
32 32
 class MozartIssue62Test extends IntegrationTestCase
33 33
 {
34 34
 
35
-    /**
36
-     * Just confirms `use Guzzle\Common\Collection;` is prefixed.
37
-     */
38
-    public function testGuzzleNamespaceIsPrefixedInS3Client()
39
-    {
40
-        $this->markTestSkipped('Very slow to run');
35
+	/**
36
+	 * Just confirms `use Guzzle\Common\Collection;` is prefixed.
37
+	 */
38
+	public function testGuzzleNamespaceIsPrefixedInS3Client()
39
+	{
40
+		$this->markTestSkipped('Very slow to run');
41 41
 
42
-        $composerJsonString = <<<'EOD'
42
+		$composerJsonString = <<<'EOD'
43 43
 {
44 44
   "name": "brianhenryie/mozart-issue-62",
45 45
   "require": {
@@ -54,21 +54,21 @@  discard block
 block discarded – undo
54 54
 }
55 55
 EOD;
56 56
 
57
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
57
+		file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
58 58
 
59
-        chdir($this->testsWorkingDir);
59
+		chdir($this->testsWorkingDir);
60 60
 
61
-        exec('composer install');
61
+		exec('composer install');
62 62
 
63
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
64
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
63
+		$inputInterfaceMock = $this->createMock(InputInterface::class);
64
+		$outputInterfaceMock = $this->createMock(OutputInterface::class);
65 65
 
66
-        $mozartCompose = new Compose();
66
+		$mozartCompose = new Compose();
67 67
 
68
-        $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
68
+		$mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
69 69
 
70
-        $phpString = file_get_contents($this->testsWorkingDir .'strauss/aws/aws-sdk-php/src/Aws/S3/S3Client.php');
70
+		$phpString = file_get_contents($this->testsWorkingDir .'strauss/aws/aws-sdk-php/src/Aws/S3/S3Client.php');
71 71
 
72
-        $this->assertStringContainsString('use Strauss\\Guzzle\\Common\\Collection;', $phpString);
73
-    }
72
+		$this->assertStringContainsString('use Strauss\\Guzzle\\Common\\Collection;', $phpString);
73
+	}
74 74
 }
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
      */
38 38
     public function testGuzzleNamespaceIsPrefixedInS3Client()
39 39
     {
40
-        $this->markTestSkipped('Very slow to run');
40
+        $this->markTestSkipped( 'Very slow to run' );
41 41
 
42 42
         $composerJsonString = <<<'EOD'
43 43
 {
@@ -54,21 +54,21 @@  discard block
 block discarded – undo
54 54
 }
55 55
 EOD;
56 56
 
57
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
57
+        file_put_contents( $this->testsWorkingDir . '/composer.json', $composerJsonString );
58 58
 
59
-        chdir($this->testsWorkingDir);
59
+        chdir( $this->testsWorkingDir );
60 60
 
61
-        exec('composer install');
61
+        exec( 'composer install' );
62 62
 
63
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
64
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
63
+        $inputInterfaceMock = $this->createMock( InputInterface::class );
64
+        $outputInterfaceMock = $this->createMock( OutputInterface::class );
65 65
 
66 66
         $mozartCompose = new Compose();
67 67
 
68
-        $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
68
+        $mozartCompose->run( $inputInterfaceMock, $outputInterfaceMock );
69 69
 
70
-        $phpString = file_get_contents($this->testsWorkingDir .'strauss/aws/aws-sdk-php/src/Aws/S3/S3Client.php');
70
+        $phpString = file_get_contents( $this->testsWorkingDir . 'strauss/aws/aws-sdk-php/src/Aws/S3/S3Client.php' );
71 71
 
72
-        $this->assertStringContainsString('use Strauss\\Guzzle\\Common\\Collection;', $phpString);
72
+        $this->assertStringContainsString( 'use Strauss\\Guzzle\\Common\\Collection;', $phpString );
73 73
     }
74 74
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -29,14 +29,12 @@
 block discarded – undo
29 29
  * @package BrianHenryIE\Strauss\Tests\Issues
30 30
  * @coversNothing
31 31
  */
32
-class MozartIssue62Test extends IntegrationTestCase
33
-{
32
+class MozartIssue62Test extends IntegrationTestCase {
34 33
 
35 34
     /**
36 35
      * Just confirms `use Guzzle\Common\Collection;` is prefixed.
37 36
      */
38
-    public function testGuzzleNamespaceIsPrefixedInS3Client()
39
-    {
37
+    public function testGuzzleNamespaceIsPrefixedInS3Client() {
40 38
         $this->markTestSkipped('Very slow to run');
41 39
 
42 40
         $composerJsonString = <<<'EOD'
Please login to merge, or discard this patch.
Upper-Lower-Casing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -36,7 +36,7 @@
 block discarded – undo
36 36
     }
37 37
   }
38 38
 }
39
-EOD;
39
+eod;
40 40
 
41 41
         file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
42 42
 
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/tests/Issues/MozartIssue93Test.php 4 patches
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -17,21 +17,21 @@  discard block
 block discarded – undo
17 17
  */
18 18
 class MozartIssue93Test extends IntegrationTestCase
19 19
 {
20
-    /**
21
-     * Issue #93 shows a classname being updated inside a class whose namespace has also been updated
22
-     * by Mozart.
23
-     *
24
-     * This is caused by the same files being loaded by both a PSR-4 autolaoder and classmap autoloader.
25
-     * @see https://github.com/katzgrau/KLogger/blob/de2d3ab6777a393a9879e0496ebb8e0644066e3f/composer.json#L24-L29
26
-     *
27
-     * @author BrianHenryIE
28
-     */
29
-    public function test_it_does_not_make_classname_replacement_inside_namespaced_file()
30
-    {
20
+	/**
21
+	 * Issue #93 shows a classname being updated inside a class whose namespace has also been updated
22
+	 * by Mozart.
23
+	 *
24
+	 * This is caused by the same files being loaded by both a PSR-4 autolaoder and classmap autoloader.
25
+	 * @see https://github.com/katzgrau/KLogger/blob/de2d3ab6777a393a9879e0496ebb8e0644066e3f/composer.json#L24-L29
26
+	 *
27
+	 * @author BrianHenryIE
28
+	 */
29
+	public function test_it_does_not_make_classname_replacement_inside_namespaced_file()
30
+	{
31 31
 
32
-        $this->markTestSkipped('Not respecting the pinned commit.');
32
+		$this->markTestSkipped('Not respecting the pinned commit.');
33 33
 
34
-        $composerJsonString = <<<'EOD'
34
+		$composerJsonString = <<<'EOD'
35 35
 {
36 36
 	"name": "brianhenryie/mozart-issue-93",
37 37
 	"repositories": [{
@@ -51,25 +51,25 @@  discard block
 block discarded – undo
51 51
 }
52 52
 EOD;
53 53
 
54
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
54
+		file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
55 55
 
56
-        chdir($this->testsWorkingDir);
56
+		chdir($this->testsWorkingDir);
57 57
 
58
-        exec('composer install');
58
+		exec('composer install');
59 59
 
60
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
61
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
60
+		$inputInterfaceMock = $this->createMock(InputInterface::class);
61
+		$outputInterfaceMock = $this->createMock(OutputInterface::class);
62 62
 
63
-        $mozartCompose = new Compose();
63
+		$mozartCompose = new Compose();
64 64
 
65
-        $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
65
+		$mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
66 66
 
67
-        $php_string = file_get_contents($this->testsWorkingDir .'strauss/brianhenryie/wp-logger/src/class-logger.php');
67
+		$php_string = file_get_contents($this->testsWorkingDir .'strauss/brianhenryie/wp-logger/src/class-logger.php');
68 68
 
69
-        // Confirm problem is gone.
70
-        $this->assertStringNotContainsString('class BrianHenryIE_Strauss_Logger extends', $php_string);
69
+		// Confirm problem is gone.
70
+		$this->assertStringNotContainsString('class BrianHenryIE_Strauss_Logger extends', $php_string);
71 71
 
72
-        // Confirm solution is correct.
73
-        $this->assertStringContainsString('class Logger extends', $php_string);
74
-    }
72
+		// Confirm solution is correct.
73
+		$this->assertStringContainsString('class Logger extends', $php_string);
74
+	}
75 75
 }
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
     public function test_it_does_not_make_classname_replacement_inside_namespaced_file()
30 30
     {
31 31
 
32
-        $this->markTestSkipped('Not respecting the pinned commit.');
32
+        $this->markTestSkipped( 'Not respecting the pinned commit.' );
33 33
 
34 34
         $composerJsonString = <<<'EOD'
35 35
 {
@@ -51,25 +51,25 @@  discard block
 block discarded – undo
51 51
 }
52 52
 EOD;
53 53
 
54
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
54
+        file_put_contents( $this->testsWorkingDir . '/composer.json', $composerJsonString );
55 55
 
56
-        chdir($this->testsWorkingDir);
56
+        chdir( $this->testsWorkingDir );
57 57
 
58
-        exec('composer install');
58
+        exec( 'composer install' );
59 59
 
60
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
61
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
60
+        $inputInterfaceMock = $this->createMock( InputInterface::class );
61
+        $outputInterfaceMock = $this->createMock( OutputInterface::class );
62 62
 
63 63
         $mozartCompose = new Compose();
64 64
 
65
-        $mozartCompose->run($inputInterfaceMock, $outputInterfaceMock);
65
+        $mozartCompose->run( $inputInterfaceMock, $outputInterfaceMock );
66 66
 
67
-        $php_string = file_get_contents($this->testsWorkingDir .'strauss/brianhenryie/wp-logger/src/class-logger.php');
67
+        $php_string = file_get_contents( $this->testsWorkingDir . 'strauss/brianhenryie/wp-logger/src/class-logger.php' );
68 68
 
69 69
         // Confirm problem is gone.
70
-        $this->assertStringNotContainsString('class BrianHenryIE_Strauss_Logger extends', $php_string);
70
+        $this->assertStringNotContainsString( 'class BrianHenryIE_Strauss_Logger extends', $php_string );
71 71
 
72 72
         // Confirm solution is correct.
73
-        $this->assertStringContainsString('class Logger extends', $php_string);
73
+        $this->assertStringContainsString( 'class Logger extends', $php_string );
74 74
     }
75 75
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -15,8 +15,7 @@  discard block
 block discarded – undo
15 15
  * Class MozartIssue93Test
16 16
  * @coversNothing
17 17
  */
18
-class MozartIssue93Test extends IntegrationTestCase
19
-{
18
+class MozartIssue93Test extends IntegrationTestCase {
20 19
     /**
21 20
      * Issue #93 shows a classname being updated inside a class whose namespace has also been updated
22 21
      * by Mozart.
@@ -26,8 +25,7 @@  discard block
 block discarded – undo
26 25
      *
27 26
      * @author BrianHenryIE
28 27
      */
29
-    public function test_it_does_not_make_classname_replacement_inside_namespaced_file()
30
-    {
28
+    public function test_it_does_not_make_classname_replacement_inside_namespaced_file() {
31 29
 
32 30
         $this->markTestSkipped('Not respecting the pinned commit.');
33 31
 
Please login to merge, or discard this patch.
Upper-Lower-Casing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -49,7 +49,7 @@
 block discarded – undo
49 49
 	},
50 50
 	"minimum-stability": "dev"
51 51
 }
52
-EOD;
52
+eod;
53 53
 
54 54
         file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
55 55
 
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/tests/Issues/MozartIssue43Test.php 4 patches
Indentation   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -21,17 +21,17 @@  discard block
 block discarded – undo
21 21
 class MozartIssue43Test extends IntegrationTestCase
22 22
 {
23 23
 
24
-    /**
25
-     * Issue 43. Needs "aws/aws-sdk-php".
26
-     *
27
-     * League\Flysystem\FileExistsException : File already exists at path:
28
-     * dep_directory/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf1CacheAdapter.php
29
-     */
30
-    public function testAwsSdkSucceeds()
31
-    {
32
-        $this->markTestSkipped('Very slow to run');
24
+	/**
25
+	 * Issue 43. Needs "aws/aws-sdk-php".
26
+	 *
27
+	 * League\Flysystem\FileExistsException : File already exists at path:
28
+	 * dep_directory/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf1CacheAdapter.php
29
+	 */
30
+	public function testAwsSdkSucceeds()
31
+	{
32
+		$this->markTestSkipped('Very slow to run');
33 33
 
34
-        $composerJsonString = <<<'EOD'
34
+		$composerJsonString = <<<'EOD'
35 35
 {
36 36
 	"name": "brianhenryie/mozart-issue-43",
37 37
 	"require": {
@@ -53,21 +53,21 @@  discard block
 block discarded – undo
53 53
 }
54 54
 EOD;
55 55
 
56
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
56
+		file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
57 57
 
58
-        chdir($this->testsWorkingDir);
58
+		chdir($this->testsWorkingDir);
59 59
 
60
-        exec('composer install');
60
+		exec('composer install');
61 61
 
62
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
63
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
62
+		$inputInterfaceMock = $this->createMock(InputInterface::class);
63
+		$outputInterfaceMock = $this->createMock(OutputInterface::class);
64 64
 
65
-        $strauss = new Compose();
65
+		$strauss = new Compose();
66 66
 
67
-        $result = $strauss->run($inputInterfaceMock, $outputInterfaceMock);
67
+		$result = $strauss->run($inputInterfaceMock, $outputInterfaceMock);
68 68
 //
69 69
 //        $this->assertEquals(0, $result);
70 70
 
71
-        $this->assertFileExists($this->testsWorkingDir . '/strauss/aws/aws-sdk-php/src/AWS/Common/Aws.php');
72
-    }
71
+		$this->assertFileExists($this->testsWorkingDir . '/strauss/aws/aws-sdk-php/src/AWS/Common/Aws.php');
72
+	}
73 73
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
      */
30 30
     public function testAwsSdkSucceeds()
31 31
     {
32
-        $this->markTestSkipped('Very slow to run');
32
+        $this->markTestSkipped( 'Very slow to run' );
33 33
 
34 34
         $composerJsonString = <<<'EOD'
35 35
 {
@@ -53,21 +53,21 @@  discard block
 block discarded – undo
53 53
 }
54 54
 EOD;
55 55
 
56
-        file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
56
+        file_put_contents( $this->testsWorkingDir . '/composer.json', $composerJsonString );
57 57
 
58
-        chdir($this->testsWorkingDir);
58
+        chdir( $this->testsWorkingDir );
59 59
 
60
-        exec('composer install');
60
+        exec( 'composer install' );
61 61
 
62
-        $inputInterfaceMock = $this->createMock(InputInterface::class);
63
-        $outputInterfaceMock = $this->createMock(OutputInterface::class);
62
+        $inputInterfaceMock = $this->createMock( InputInterface::class );
63
+        $outputInterfaceMock = $this->createMock( OutputInterface::class );
64 64
 
65 65
         $strauss = new Compose();
66 66
 
67
-        $result = $strauss->run($inputInterfaceMock, $outputInterfaceMock);
67
+        $result = $strauss->run( $inputInterfaceMock, $outputInterfaceMock );
68 68
 //
69 69
 //        $this->assertEquals(0, $result);
70 70
 
71
-        $this->assertFileExists($this->testsWorkingDir . '/strauss/aws/aws-sdk-php/src/AWS/Common/Aws.php');
71
+        $this->assertFileExists( $this->testsWorkingDir . '/strauss/aws/aws-sdk-php/src/AWS/Common/Aws.php' );
72 72
     }
73 73
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -18,8 +18,7 @@  discard block
 block discarded – undo
18 18
  * @package BrianHenryIE\Strauss\Tests\Issues
19 19
  * @coversNothing
20 20
  */
21
-class MozartIssue43Test extends IntegrationTestCase
22
-{
21
+class MozartIssue43Test extends IntegrationTestCase {
23 22
 
24 23
     /**
25 24
      * Issue 43. Needs "aws/aws-sdk-php".
@@ -27,8 +26,7 @@  discard block
 block discarded – undo
27 26
      * League\Flysystem\FileExistsException : File already exists at path:
28 27
      * dep_directory/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf1CacheAdapter.php
29 28
      */
30
-    public function testAwsSdkSucceeds()
31
-    {
29
+    public function testAwsSdkSucceeds() {
32 30
         $this->markTestSkipped('Very slow to run');
33 31
 
34 32
         $composerJsonString = <<<'EOD'
Please login to merge, or discard this patch.
Upper-Lower-Casing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -74,7 +74,7 @@
 block discarded – undo
74 74
 		}
75 75
 	}
76 76
 }
77
-EOD;
77
+eod;
78 78
 
79 79
         file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);
80 80
 
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Copier.php 3 patches
Indentation   +68 added lines, -68 removed lines patch added patch discarded remove patch
@@ -19,72 +19,72 @@
 block discarded – undo
19 19
 
20 20
 class Copier
21 21
 {
22
-    /**
23
-     * The only path variable with a leading slash.
24
-     * All directories in project end with a slash.
25
-     *
26
-     * @var string
27
-     */
28
-    protected string $workingDir;
29
-
30
-    protected string $targetDir;
31
-
32
-    protected array $filepaths;
33
-
34
-    /** @var Filesystem */
35
-    protected Filesystem $filesystem;
36
-
37
-    /**
38
-     * Copier constructor.
39
-     * @param array<string, ComposerPackage> $filepaths
40
-     * @param string $workingDir
41
-     * @param string $relativeTargetDir
42
-     */
43
-    public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir)
44
-    {
45
-        $this->filepaths = array_keys($filepaths);
46
-
47
-        $this->workingDir = $workingDir;
48
-
49
-        $this->targetDir = $relativeTargetDir;
50
-
51
-        $this->filesystem = new Filesystem(new Local($this->workingDir));
52
-    }
53
-
54
-    /**
55
-     * If the target dir does not exist, create it.
56
-     * If it already exists, delete any files we're about to copy.
57
-     *
58
-     * @return void
59
-     */
60
-    public function prepareTarget(): void
61
-    {
62
-        if (! $this->filesystem->has($this->targetDir)) {
63
-            $this->filesystem->createDir($this->targetDir);
64
-        } else {
65
-            foreach ($this->filepaths as $vendorRelativeFilepath) {
66
-                $projectRelativeFilepath = $this->targetDir . $vendorRelativeFilepath;
67
-
68
-                if ($this->filesystem->has($projectRelativeFilepath)) {
69
-                    $this->filesystem->delete($projectRelativeFilepath);
70
-                }
71
-            }
72
-        }
73
-    }
74
-
75
-
76
-    /**
77
-     *
78
-     */
79
-    public function copy(): void
80
-    {
81
-
82
-        foreach ($this->filepaths as $relativeFilepath) {
83
-            $sourceFileRelativePath = 'vendor' . DIRECTORY_SEPARATOR . $relativeFilepath;
84
-
85
-            $targetFileRelativePath = $this->targetDir . $relativeFilepath;
86
-
87
-            $this->filesystem->copy($sourceFileRelativePath, $targetFileRelativePath);
88
-        }
89
-    }
22
+	/**
23
+	 * The only path variable with a leading slash.
24
+	 * All directories in project end with a slash.
25
+	 *
26
+	 * @var string
27
+	 */
28
+	protected string $workingDir;
29
+
30
+	protected string $targetDir;
31
+
32
+	protected array $filepaths;
33
+
34
+	/** @var Filesystem */
35
+	protected Filesystem $filesystem;
36
+
37
+	/**
38
+	 * Copier constructor.
39
+	 * @param array<string, ComposerPackage> $filepaths
40
+	 * @param string $workingDir
41
+	 * @param string $relativeTargetDir
42
+	 */
43
+	public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir)
44
+	{
45
+		$this->filepaths = array_keys($filepaths);
46
+
47
+		$this->workingDir = $workingDir;
48
+
49
+		$this->targetDir = $relativeTargetDir;
50
+
51
+		$this->filesystem = new Filesystem(new Local($this->workingDir));
52
+	}
53
+
54
+	/**
55
+	 * If the target dir does not exist, create it.
56
+	 * If it already exists, delete any files we're about to copy.
57
+	 *
58
+	 * @return void
59
+	 */
60
+	public function prepareTarget(): void
61
+	{
62
+		if (! $this->filesystem->has($this->targetDir)) {
63
+			$this->filesystem->createDir($this->targetDir);
64
+		} else {
65
+			foreach ($this->filepaths as $vendorRelativeFilepath) {
66
+				$projectRelativeFilepath = $this->targetDir . $vendorRelativeFilepath;
67
+
68
+				if ($this->filesystem->has($projectRelativeFilepath)) {
69
+					$this->filesystem->delete($projectRelativeFilepath);
70
+				}
71
+			}
72
+		}
73
+	}
74
+
75
+
76
+	/**
77
+	 *
78
+	 */
79
+	public function copy(): void
80
+	{
81
+
82
+		foreach ($this->filepaths as $relativeFilepath) {
83
+			$sourceFileRelativePath = 'vendor' . DIRECTORY_SEPARATOR . $relativeFilepath;
84
+
85
+			$targetFileRelativePath = $this->targetDir . $relativeFilepath;
86
+
87
+			$this->filesystem->copy($sourceFileRelativePath, $targetFileRelativePath);
88
+		}
89
+	}
90 90
 }
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -40,15 +40,15 @@  discard block
 block discarded – undo
40 40
      * @param string $workingDir
41 41
      * @param string $relativeTargetDir
42 42
      */
43
-    public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir)
43
+    public function __construct( array $filepaths, string $workingDir, string $relativeTargetDir )
44 44
     {
45
-        $this->filepaths = array_keys($filepaths);
45
+        $this->filepaths = array_keys( $filepaths );
46 46
 
47 47
         $this->workingDir = $workingDir;
48 48
 
49 49
         $this->targetDir = $relativeTargetDir;
50 50
 
51
-        $this->filesystem = new Filesystem(new Local($this->workingDir));
51
+        $this->filesystem = new Filesystem( new Local( $this->workingDir ) );
52 52
     }
53 53
 
54 54
     /**
@@ -59,14 +59,14 @@  discard block
 block discarded – undo
59 59
      */
60 60
     public function prepareTarget(): void
61 61
     {
62
-        if (! $this->filesystem->has($this->targetDir)) {
63
-            $this->filesystem->createDir($this->targetDir);
62
+        if ( ! $this->filesystem->has( $this->targetDir ) ) {
63
+            $this->filesystem->createDir( $this->targetDir );
64 64
         } else {
65
-            foreach ($this->filepaths as $vendorRelativeFilepath) {
65
+            foreach ( $this->filepaths as $vendorRelativeFilepath ) {
66 66
                 $projectRelativeFilepath = $this->targetDir . $vendorRelativeFilepath;
67 67
 
68
-                if ($this->filesystem->has($projectRelativeFilepath)) {
69
-                    $this->filesystem->delete($projectRelativeFilepath);
68
+                if ( $this->filesystem->has( $projectRelativeFilepath ) ) {
69
+                    $this->filesystem->delete( $projectRelativeFilepath );
70 70
                 }
71 71
             }
72 72
         }
@@ -79,12 +79,12 @@  discard block
 block discarded – undo
79 79
     public function copy(): void
80 80
     {
81 81
 
82
-        foreach ($this->filepaths as $relativeFilepath) {
82
+        foreach ( $this->filepaths as $relativeFilepath ) {
83 83
             $sourceFileRelativePath = 'vendor' . DIRECTORY_SEPARATOR . $relativeFilepath;
84 84
 
85 85
             $targetFileRelativePath = $this->targetDir . $relativeFilepath;
86 86
 
87
-            $this->filesystem->copy($sourceFileRelativePath, $targetFileRelativePath);
87
+            $this->filesystem->copy( $sourceFileRelativePath, $targetFileRelativePath );
88 88
         }
89 89
     }
90 90
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -17,8 +17,7 @@  discard block
 block discarded – undo
17 17
 use League\Flysystem\Adapter\Local;
18 18
 use League\Flysystem\Filesystem;
19 19
 
20
-class Copier
21
-{
20
+class Copier {
22 21
     /**
23 22
      * The only path variable with a leading slash.
24 23
      * All directories in project end with a slash.
@@ -40,8 +39,7 @@  discard block
 block discarded – undo
40 39
      * @param string $workingDir
41 40
      * @param string $relativeTargetDir
42 41
      */
43
-    public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir)
44
-    {
42
+    public function __construct(array $filepaths, string $workingDir, string $relativeTargetDir) {
45 43
         $this->filepaths = array_keys($filepaths);
46 44
 
47 45
         $this->workingDir = $workingDir;
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Composer/Extra/StraussConfig.php 3 patches
Indentation   +392 added lines, -392 removed lines patch added patch discarded remove patch
@@ -12,396 +12,396 @@
 block discarded – undo
12 12
 
13 13
 class StraussConfig
14 14
 {
15
-    /**
16
-     * The output directory.
17
-     *
18
-     * Probably `strauss/` or `src/strauss/`.
19
-     *
20
-     * @var string
21
-     */
22
-    protected $targetDirectory = 'strauss';
23
-
24
-    /**
25
-     * `namespacePrefix` is the prefix to be given to any namespaces.
26
-     * Presumably this will take the form `My_Project_Namespace\dep_directory`.
27
-     *
28
-     * @link https://www.php-fig.org/psr/psr-4/
29
-     *
30
-     * @var string
31
-     */
32
-    protected $namespacePrefix;
33
-
34
-    /**
35
-     * @var string
36
-     */
37
-    protected $classmapPrefix;
38
-
39
-    /**
40
-     * Packages to copy and (maybe) prefix.
41
-     *
42
-     * If this is empty, the "requires" list in the project composer.json is used.
43
-     *
44
-     * @var array
45
-     */
46
-    protected array $packages = [];
47
-
48
-    // Back-compatibility with Mozart.
49
-    private array $excludePackages;
50
-
51
-    /**
52
-     * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
53
-     */
54
-    protected array $excludeFromCopy = array();
55
-
56
-    /**
57
-     * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
58
-     */
59
-    protected array $excludeFromPrefix = array('filePatterns'=>array('/^psr.*$/'));
60
-
61
-
62
-    /**
63
-     * An array of autoload keys to replace packages' existing autoload key.
64
-     *
65
-     * e.g. when
66
-     * * A package has no autoloader
67
-     * * A package specified both a PSR-4 and a classmap but only needs one
68
-     * ...
69
-     *
70
-     * @var array
71
-     */
72
-    protected $overrideAutoload = [];
73
-
74
-    /**
75
-     * After completing `strauss compose` should the source files be deleted?
76
-     * This does not affect symlinked directories.
77
-     *
78
-     * @var bool
79
-     */
80
-    protected $deleteVendorFiles = false;
81
-
82
-    protected bool $classmapOutput;
83
-
84
-    protected array $namespaceReplacementPatterns = array();
85
-
86
-
87
-    /**
88
-     * Read any existing Mozart config.
89
-     * Overwrite it with any Strauss config.
90
-     * Provide sensible defaults.
91
-     *
92
-     * @throws Exception
93
-     */
94
-    public function __construct(Composer $composer)
95
-    {
96
-
97
-        $configExtraSettings = null;
98
-
99
-        // Backwards compatibility with Mozart.
100
-        if (isset($composer->getPackage()->getExtra()['mozart'])) {
101
-            $configExtraSettings = (object)$composer->getPackage()->getExtra()['mozart'];
102
-
103
-            // Default setting for Mozart.
104
-            $this->setDeleteVendorFiles(true);
105
-        }
106
-
107
-        if (isset($composer->getPackage()->getExtra()['strauss'])) {
108
-            $configExtraSettings = (object)$composer->getPackage()->getExtra()['strauss'];
109
-        }
110
-
111
-        if (!is_null($configExtraSettings)) {
112
-            $mapper = (new JsonMapperFactory())->bestFit();
113
-
114
-            $rename = new Rename();
115
-            $rename->addMapping(StraussConfig::class, 'dep_directory', 'targetDirectory');
116
-            $rename->addMapping(StraussConfig::class, 'dep_namespace', 'namespacePrefix');
117
-
118
-            $rename->addMapping(StraussConfig::class, 'exclude_packages', 'excludePackages');
119
-            $rename->addMapping(StraussConfig::class, 'delete_vendor_directories', 'deleteVendorFiles');
120
-
121
-            $mapper->unshift($rename);
122
-            $mapper->push(new \JsonMapper\Middleware\CaseConversion(
123
-                \JsonMapper\Enums\TextNotation::UNDERSCORE(),
124
-                \JsonMapper\Enums\TextNotation::CAMEL_CASE()
125
-            ));
126
-
127
-            $mapper->mapObject($configExtraSettings, $this);
128
-        }
129
-
130
-        // Defaults.
131
-        // * Use PSR-4 autoloader key
132
-        // * Use PSR-0 autoloader key
133
-        // * Use the package name
134
-        if (! isset($this->namespacePrefix)) {
135
-            if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
136
-                $this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-4']));
137
-            } elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
138
-                $this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-0']));
139
-            } elseif ('__root__' !== $composer->getPackage()->getName()) {
140
-                $packageName = $composer->getPackage()->getName();
141
-                $namespacePrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
142
-                $namespacePrefix = str_replace('/', '\\', $namespacePrefix) . '\\';
143
-                $namespacePrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
144
-                    return strtoupper($match[0]);
145
-                }, $namespacePrefix);
146
-                $this->setNamespacePrefix($namespacePrefix);
147
-            } elseif (isset($this->classmapPrefix)) {
148
-                $namespacePrefix = rtrim($this->getClassmapPrefix(), '_');
149
-                $this->setNamespacePrefix($namespacePrefix);
150
-            }
151
-        }
152
-
153
-        if (! isset($this->classmapPrefix)) {
154
-            if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
155
-                $autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-4']);
156
-                $classmapPrefix = str_replace("\\", "_", $autoloadKey);
157
-                $this->setClassmapPrefix($classmapPrefix);
158
-            } elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
159
-                $autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-0']);
160
-                $classmapPrefix = str_replace("\\", "_", $autoloadKey);
161
-                $this->setClassmapPrefix($classmapPrefix);
162
-            } elseif ('__root__' !== $composer->getPackage()->getName()) {
163
-                $packageName = $composer->getPackage()->getName();
164
-                $classmapPrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
165
-                $classmapPrefix = str_replace('/', '\\', $classmapPrefix);
166
-                // Uppercase the first letter of each word.
167
-                $classmapPrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
168
-                    return strtoupper($match[0]);
169
-                }, $classmapPrefix);
170
-                $classmapPrefix = str_replace("\\", "_", $classmapPrefix);
171
-                $this->setClassmapPrefix($classmapPrefix);
172
-            } elseif (isset($this->namespacePrefix)) {
173
-                $classmapPrefix = preg_replace('/[^\w\/]+/', '_', $this->getNamespacePrefix());
174
-                $classmapPrefix = rtrim($classmapPrefix, '_') . '_';
175
-                $this->setClassmapPrefix($classmapPrefix);
176
-            }
177
-        }
178
-
179
-        if (!isset($this->namespacePrefix) || !isset($this->classmapPrefix)) {
180
-            throw new Exception('Prefix not set. Please set `namespace_prefix`, `classmap_prefix` in composer.json/extra/strauss.');
181
-        }
182
-
183
-        if (empty($this->packages)) {
184
-            $this->packages = array_map(function (\Composer\Package\Link $element) {
185
-                return $element->getTarget();
186
-            }, $composer->getPackage()->getRequires());
187
-        }
188
-
189
-        // If the bool flag for classmapOutput wasn't set in the Json config.
190
-        if (!isset($this->classmapOutput)) {
191
-            $this->classmapOutput = true;
192
-            // Check each autoloader.
193
-            foreach ($composer->getPackage()->getAutoload() as $autoload) {
194
-                // To see if one of its paths.
195
-                foreach ($autoload as $path) {
196
-                    // Matches the target directory.
197
-                    if (trim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR === $this->getTargetDirectory()) {
198
-                        $this->classmapOutput = false;
199
-                        break 2;
200
-                    }
201
-                }
202
-            }
203
-        }
204
-
205
-        // TODO: Throw an exception if any regex patterns in config are invalid.
206
-        // https://stackoverflow.com/questions/4440626/how-can-i-validate-regex
207
-        // preg_match('~Valid(Regular)Expression~', null) === false);
208
-    }
209
-
210
-    /**
211
-     * `target_directory` will always be returned without a leading slash and with a trailing slash.
212
-     *
213
-     * @return string
214
-     */
215
-    public function getTargetDirectory(): string
216
-    {
217
-        return trim($this->targetDirectory, DIRECTORY_SEPARATOR . '\\/') . DIRECTORY_SEPARATOR;
218
-    }
219
-
220
-    /**
221
-     * @param string $targetDirectory
222
-     */
223
-    public function setTargetDirectory(string $targetDirectory): void
224
-    {
225
-        $this->targetDirectory = trim(
226
-            preg_replace(
227
-                '/[\/\\\\]+/',
228
-                DIRECTORY_SEPARATOR,
229
-                $targetDirectory
230
-            ),
231
-            DIRECTORY_SEPARATOR
232
-        )
233
-            . DIRECTORY_SEPARATOR ;
234
-    }
235
-
236
-    /**
237
-     * @return string
238
-     */
239
-    public function getNamespacePrefix(): string
240
-    {
241
-        return trim($this->namespacePrefix, '\\');
242
-    }
243
-
244
-    /**
245
-     * @param string $namespacePrefix
246
-     */
247
-    public function setNamespacePrefix(string $namespacePrefix): void
248
-    {
249
-        $this->namespacePrefix = $namespacePrefix;
250
-    }
251
-
252
-    /**
253
-     * @return string
254
-     */
255
-    public function getClassmapPrefix(): string
256
-    {
257
-        return $this->classmapPrefix;
258
-    }
259
-
260
-    /**
261
-     * @param string $classmapPrefix
262
-     */
263
-    public function setClassmapPrefix(string $classmapPrefix): void
264
-    {
265
-        $this->classmapPrefix = $classmapPrefix;
266
-    }
267
-
268
-    public function setExcludeFromCopy(array $excludeFromCopy): void
269
-    {
270
-        $this->excludeFromCopy = $excludeFromCopy;
271
-    }
272
-    public function getExcludePackagesFromCopy(): array
273
-    {
274
-        return $this->excludeFromCopy['packages'] ?? array();
275
-    }
276
-
277
-    public function getExcludeNamespacesFromCopy(): array
278
-    {
279
-        return $this->excludeFromCopy['namespaces'] ?? array();
280
-    }
281
-
282
-    public function getExcludeFilePatternsFromCopy(): array
283
-    {
284
-        return $this->excludeFromCopy['filePatterns'] ?? array();
285
-    }
286
-
287
-
288
-    public function setExcludeFromPrefix(array $excludeFromPrefix): void
289
-    {
290
-        $this->excludeFromPrefix = $excludeFromPrefix;
291
-    }
292
-
293
-    /**
294
-     * When prefixing, do not prefix these packages (which have been copied).
295
-     *
296
-     * @var string[]
297
-     */
298
-    public function getExcludePackagesFromPrefixing(): array
299
-    {
300
-        return $this->excludeFromPrefix['packages'] ?? array();
301
-    }
302
-
303
-    public function getExcludeNamespacesFromPrefixing(): array
304
-    {
305
-        return $this->excludeFromPrefix['namespaces'] ?? array();
306
-    }
307
-
308
-    public function getExcludeFilePatternsFromPrefixing(): array
309
-    {
310
-        return $this->excludeFromPrefix['filePatterns'] ?? array();
311
-    }
312
-
313
-
314
-    /**
315
-     * @return array
316
-     */
317
-    public function getOverrideAutoload(): array
318
-    {
319
-        return $this->overrideAutoload;
320
-    }
321
-
322
-    /**
323
-     * @param array $overrideAutoload
324
-     */
325
-    public function setOverrideAutoload(array $overrideAutoload): void
326
-    {
327
-        $this->overrideAutoload = $overrideAutoload;
328
-    }
329
-
330
-    /**
331
-     * @return bool
332
-     */
333
-    public function isDeleteVendorFiles(): bool
334
-    {
335
-        return $this->deleteVendorFiles;
336
-    }
337
-
338
-    /**
339
-     * @param bool $deleteVendorFiles
340
-     */
341
-    public function setDeleteVendorFiles(bool $deleteVendorFiles): void
342
-    {
343
-        $this->deleteVendorFiles = $deleteVendorFiles;
344
-    }
345
-
346
-    /**
347
-     * @return array
348
-     */
349
-    public function getPackages(): array
350
-    {
351
-        return $this->packages;
352
-    }
353
-
354
-    /**
355
-     * @param array $packages
356
-     */
357
-    public function setPackages(array $packages): void
358
-    {
359
-        $this->packages = $packages;
360
-    }
361
-
362
-    /**
363
-     * @return bool
364
-     */
365
-    public function isClassmapOutput(): bool
366
-    {
367
-        return $this->classmapOutput;
368
-    }
369
-
370
-    /**
371
-     * @param bool $classmapOutput
372
-     */
373
-    public function setClassmapOutput(bool $classmapOutput): void
374
-    {
375
-        $this->classmapOutput = $classmapOutput;
376
-    }
377
-
378
-    /**
379
-     * Backwards compatability with Mozart.
380
-     */
381
-    public function setExcludePackages(array $excludePackages)
382
-    {
383
-
384
-        if (! isset($this->excludeFromPrefix)) {
385
-            $this->excludeFromPrefix = array();
386
-        }
387
-
388
-        $this->excludeFromPrefix['packages'] = $excludePackages;
389
-    }
390
-
391
-
392
-    /**
393
-     * @return array
394
-     */
395
-    public function getNamespaceReplacementPatterns(): array
396
-    {
397
-        return $this->namespaceReplacementPatterns;
398
-    }
399
-
400
-    /**
401
-     * @param array $namespaceReplacementPatterns
402
-     */
403
-    public function setNamespaceReplacementPatterns(array $namespaceReplacementPatterns): void
404
-    {
405
-        $this->namespaceReplacementPatterns = $namespaceReplacementPatterns;
406
-    }
15
+	/**
16
+	 * The output directory.
17
+	 *
18
+	 * Probably `strauss/` or `src/strauss/`.
19
+	 *
20
+	 * @var string
21
+	 */
22
+	protected $targetDirectory = 'strauss';
23
+
24
+	/**
25
+	 * `namespacePrefix` is the prefix to be given to any namespaces.
26
+	 * Presumably this will take the form `My_Project_Namespace\dep_directory`.
27
+	 *
28
+	 * @link https://www.php-fig.org/psr/psr-4/
29
+	 *
30
+	 * @var string
31
+	 */
32
+	protected $namespacePrefix;
33
+
34
+	/**
35
+	 * @var string
36
+	 */
37
+	protected $classmapPrefix;
38
+
39
+	/**
40
+	 * Packages to copy and (maybe) prefix.
41
+	 *
42
+	 * If this is empty, the "requires" list in the project composer.json is used.
43
+	 *
44
+	 * @var array
45
+	 */
46
+	protected array $packages = [];
47
+
48
+	// Back-compatibility with Mozart.
49
+	private array $excludePackages;
50
+
51
+	/**
52
+	 * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
53
+	 */
54
+	protected array $excludeFromCopy = array();
55
+
56
+	/**
57
+	 * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
58
+	 */
59
+	protected array $excludeFromPrefix = array('filePatterns'=>array('/^psr.*$/'));
60
+
61
+
62
+	/**
63
+	 * An array of autoload keys to replace packages' existing autoload key.
64
+	 *
65
+	 * e.g. when
66
+	 * * A package has no autoloader
67
+	 * * A package specified both a PSR-4 and a classmap but only needs one
68
+	 * ...
69
+	 *
70
+	 * @var array
71
+	 */
72
+	protected $overrideAutoload = [];
73
+
74
+	/**
75
+	 * After completing `strauss compose` should the source files be deleted?
76
+	 * This does not affect symlinked directories.
77
+	 *
78
+	 * @var bool
79
+	 */
80
+	protected $deleteVendorFiles = false;
81
+
82
+	protected bool $classmapOutput;
83
+
84
+	protected array $namespaceReplacementPatterns = array();
85
+
86
+
87
+	/**
88
+	 * Read any existing Mozart config.
89
+	 * Overwrite it with any Strauss config.
90
+	 * Provide sensible defaults.
91
+	 *
92
+	 * @throws Exception
93
+	 */
94
+	public function __construct(Composer $composer)
95
+	{
96
+
97
+		$configExtraSettings = null;
98
+
99
+		// Backwards compatibility with Mozart.
100
+		if (isset($composer->getPackage()->getExtra()['mozart'])) {
101
+			$configExtraSettings = (object)$composer->getPackage()->getExtra()['mozart'];
102
+
103
+			// Default setting for Mozart.
104
+			$this->setDeleteVendorFiles(true);
105
+		}
106
+
107
+		if (isset($composer->getPackage()->getExtra()['strauss'])) {
108
+			$configExtraSettings = (object)$composer->getPackage()->getExtra()['strauss'];
109
+		}
110
+
111
+		if (!is_null($configExtraSettings)) {
112
+			$mapper = (new JsonMapperFactory())->bestFit();
113
+
114
+			$rename = new Rename();
115
+			$rename->addMapping(StraussConfig::class, 'dep_directory', 'targetDirectory');
116
+			$rename->addMapping(StraussConfig::class, 'dep_namespace', 'namespacePrefix');
117
+
118
+			$rename->addMapping(StraussConfig::class, 'exclude_packages', 'excludePackages');
119
+			$rename->addMapping(StraussConfig::class, 'delete_vendor_directories', 'deleteVendorFiles');
120
+
121
+			$mapper->unshift($rename);
122
+			$mapper->push(new \JsonMapper\Middleware\CaseConversion(
123
+				\JsonMapper\Enums\TextNotation::UNDERSCORE(),
124
+				\JsonMapper\Enums\TextNotation::CAMEL_CASE()
125
+			));
126
+
127
+			$mapper->mapObject($configExtraSettings, $this);
128
+		}
129
+
130
+		// Defaults.
131
+		// * Use PSR-4 autoloader key
132
+		// * Use PSR-0 autoloader key
133
+		// * Use the package name
134
+		if (! isset($this->namespacePrefix)) {
135
+			if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
136
+				$this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-4']));
137
+			} elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
138
+				$this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-0']));
139
+			} elseif ('__root__' !== $composer->getPackage()->getName()) {
140
+				$packageName = $composer->getPackage()->getName();
141
+				$namespacePrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
142
+				$namespacePrefix = str_replace('/', '\\', $namespacePrefix) . '\\';
143
+				$namespacePrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
144
+					return strtoupper($match[0]);
145
+				}, $namespacePrefix);
146
+				$this->setNamespacePrefix($namespacePrefix);
147
+			} elseif (isset($this->classmapPrefix)) {
148
+				$namespacePrefix = rtrim($this->getClassmapPrefix(), '_');
149
+				$this->setNamespacePrefix($namespacePrefix);
150
+			}
151
+		}
152
+
153
+		if (! isset($this->classmapPrefix)) {
154
+			if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
155
+				$autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-4']);
156
+				$classmapPrefix = str_replace("\\", "_", $autoloadKey);
157
+				$this->setClassmapPrefix($classmapPrefix);
158
+			} elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
159
+				$autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-0']);
160
+				$classmapPrefix = str_replace("\\", "_", $autoloadKey);
161
+				$this->setClassmapPrefix($classmapPrefix);
162
+			} elseif ('__root__' !== $composer->getPackage()->getName()) {
163
+				$packageName = $composer->getPackage()->getName();
164
+				$classmapPrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
165
+				$classmapPrefix = str_replace('/', '\\', $classmapPrefix);
166
+				// Uppercase the first letter of each word.
167
+				$classmapPrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
168
+					return strtoupper($match[0]);
169
+				}, $classmapPrefix);
170
+				$classmapPrefix = str_replace("\\", "_", $classmapPrefix);
171
+				$this->setClassmapPrefix($classmapPrefix);
172
+			} elseif (isset($this->namespacePrefix)) {
173
+				$classmapPrefix = preg_replace('/[^\w\/]+/', '_', $this->getNamespacePrefix());
174
+				$classmapPrefix = rtrim($classmapPrefix, '_') . '_';
175
+				$this->setClassmapPrefix($classmapPrefix);
176
+			}
177
+		}
178
+
179
+		if (!isset($this->namespacePrefix) || !isset($this->classmapPrefix)) {
180
+			throw new Exception('Prefix not set. Please set `namespace_prefix`, `classmap_prefix` in composer.json/extra/strauss.');
181
+		}
182
+
183
+		if (empty($this->packages)) {
184
+			$this->packages = array_map(function (\Composer\Package\Link $element) {
185
+				return $element->getTarget();
186
+			}, $composer->getPackage()->getRequires());
187
+		}
188
+
189
+		// If the bool flag for classmapOutput wasn't set in the Json config.
190
+		if (!isset($this->classmapOutput)) {
191
+			$this->classmapOutput = true;
192
+			// Check each autoloader.
193
+			foreach ($composer->getPackage()->getAutoload() as $autoload) {
194
+				// To see if one of its paths.
195
+				foreach ($autoload as $path) {
196
+					// Matches the target directory.
197
+					if (trim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR === $this->getTargetDirectory()) {
198
+						$this->classmapOutput = false;
199
+						break 2;
200
+					}
201
+				}
202
+			}
203
+		}
204
+
205
+		// TODO: Throw an exception if any regex patterns in config are invalid.
206
+		// https://stackoverflow.com/questions/4440626/how-can-i-validate-regex
207
+		// preg_match('~Valid(Regular)Expression~', null) === false);
208
+	}
209
+
210
+	/**
211
+	 * `target_directory` will always be returned without a leading slash and with a trailing slash.
212
+	 *
213
+	 * @return string
214
+	 */
215
+	public function getTargetDirectory(): string
216
+	{
217
+		return trim($this->targetDirectory, DIRECTORY_SEPARATOR . '\\/') . DIRECTORY_SEPARATOR;
218
+	}
219
+
220
+	/**
221
+	 * @param string $targetDirectory
222
+	 */
223
+	public function setTargetDirectory(string $targetDirectory): void
224
+	{
225
+		$this->targetDirectory = trim(
226
+			preg_replace(
227
+				'/[\/\\\\]+/',
228
+				DIRECTORY_SEPARATOR,
229
+				$targetDirectory
230
+			),
231
+			DIRECTORY_SEPARATOR
232
+		)
233
+			. DIRECTORY_SEPARATOR ;
234
+	}
235
+
236
+	/**
237
+	 * @return string
238
+	 */
239
+	public function getNamespacePrefix(): string
240
+	{
241
+		return trim($this->namespacePrefix, '\\');
242
+	}
243
+
244
+	/**
245
+	 * @param string $namespacePrefix
246
+	 */
247
+	public function setNamespacePrefix(string $namespacePrefix): void
248
+	{
249
+		$this->namespacePrefix = $namespacePrefix;
250
+	}
251
+
252
+	/**
253
+	 * @return string
254
+	 */
255
+	public function getClassmapPrefix(): string
256
+	{
257
+		return $this->classmapPrefix;
258
+	}
259
+
260
+	/**
261
+	 * @param string $classmapPrefix
262
+	 */
263
+	public function setClassmapPrefix(string $classmapPrefix): void
264
+	{
265
+		$this->classmapPrefix = $classmapPrefix;
266
+	}
267
+
268
+	public function setExcludeFromCopy(array $excludeFromCopy): void
269
+	{
270
+		$this->excludeFromCopy = $excludeFromCopy;
271
+	}
272
+	public function getExcludePackagesFromCopy(): array
273
+	{
274
+		return $this->excludeFromCopy['packages'] ?? array();
275
+	}
276
+
277
+	public function getExcludeNamespacesFromCopy(): array
278
+	{
279
+		return $this->excludeFromCopy['namespaces'] ?? array();
280
+	}
281
+
282
+	public function getExcludeFilePatternsFromCopy(): array
283
+	{
284
+		return $this->excludeFromCopy['filePatterns'] ?? array();
285
+	}
286
+
287
+
288
+	public function setExcludeFromPrefix(array $excludeFromPrefix): void
289
+	{
290
+		$this->excludeFromPrefix = $excludeFromPrefix;
291
+	}
292
+
293
+	/**
294
+	 * When prefixing, do not prefix these packages (which have been copied).
295
+	 *
296
+	 * @var string[]
297
+	 */
298
+	public function getExcludePackagesFromPrefixing(): array
299
+	{
300
+		return $this->excludeFromPrefix['packages'] ?? array();
301
+	}
302
+
303
+	public function getExcludeNamespacesFromPrefixing(): array
304
+	{
305
+		return $this->excludeFromPrefix['namespaces'] ?? array();
306
+	}
307
+
308
+	public function getExcludeFilePatternsFromPrefixing(): array
309
+	{
310
+		return $this->excludeFromPrefix['filePatterns'] ?? array();
311
+	}
312
+
313
+
314
+	/**
315
+	 * @return array
316
+	 */
317
+	public function getOverrideAutoload(): array
318
+	{
319
+		return $this->overrideAutoload;
320
+	}
321
+
322
+	/**
323
+	 * @param array $overrideAutoload
324
+	 */
325
+	public function setOverrideAutoload(array $overrideAutoload): void
326
+	{
327
+		$this->overrideAutoload = $overrideAutoload;
328
+	}
329
+
330
+	/**
331
+	 * @return bool
332
+	 */
333
+	public function isDeleteVendorFiles(): bool
334
+	{
335
+		return $this->deleteVendorFiles;
336
+	}
337
+
338
+	/**
339
+	 * @param bool $deleteVendorFiles
340
+	 */
341
+	public function setDeleteVendorFiles(bool $deleteVendorFiles): void
342
+	{
343
+		$this->deleteVendorFiles = $deleteVendorFiles;
344
+	}
345
+
346
+	/**
347
+	 * @return array
348
+	 */
349
+	public function getPackages(): array
350
+	{
351
+		return $this->packages;
352
+	}
353
+
354
+	/**
355
+	 * @param array $packages
356
+	 */
357
+	public function setPackages(array $packages): void
358
+	{
359
+		$this->packages = $packages;
360
+	}
361
+
362
+	/**
363
+	 * @return bool
364
+	 */
365
+	public function isClassmapOutput(): bool
366
+	{
367
+		return $this->classmapOutput;
368
+	}
369
+
370
+	/**
371
+	 * @param bool $classmapOutput
372
+	 */
373
+	public function setClassmapOutput(bool $classmapOutput): void
374
+	{
375
+		$this->classmapOutput = $classmapOutput;
376
+	}
377
+
378
+	/**
379
+	 * Backwards compatability with Mozart.
380
+	 */
381
+	public function setExcludePackages(array $excludePackages)
382
+	{
383
+
384
+		if (! isset($this->excludeFromPrefix)) {
385
+			$this->excludeFromPrefix = array();
386
+		}
387
+
388
+		$this->excludeFromPrefix['packages'] = $excludePackages;
389
+	}
390
+
391
+
392
+	/**
393
+	 * @return array
394
+	 */
395
+	public function getNamespaceReplacementPatterns(): array
396
+	{
397
+		return $this->namespaceReplacementPatterns;
398
+	}
399
+
400
+	/**
401
+	 * @param array $namespaceReplacementPatterns
402
+	 */
403
+	public function setNamespaceReplacementPatterns(array $namespaceReplacementPatterns): void
404
+	{
405
+		$this->namespaceReplacementPatterns = $namespaceReplacementPatterns;
406
+	}
407 407
 }
Please login to merge, or discard this patch.
Spacing   +86 added lines, -86 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
      *
44 44
      * @var array
45 45
      */
46
-    protected array $packages = [];
46
+    protected array $packages = [ ];
47 47
 
48 48
     // Back-compatibility with Mozart.
49 49
     private array $excludePackages;
@@ -56,7 +56,7 @@  discard block
 block discarded – undo
56 56
     /**
57 57
      * @var array{packages?: string[], namespaces?: string[], filePatterns?: string[]}
58 58
      */
59
-    protected array $excludeFromPrefix = array('filePatterns'=>array('/^psr.*$/'));
59
+    protected array $excludeFromPrefix = array( 'filePatterns'=>array( '/^psr.*$/' ) );
60 60
 
61 61
 
62 62
     /**
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
      *
70 70
      * @var array
71 71
      */
72
-    protected $overrideAutoload = [];
72
+    protected $overrideAutoload = [ ];
73 73
 
74 74
     /**
75 75
      * After completing `strauss compose` should the source files be deleted?
@@ -91,110 +91,110 @@  discard block
 block discarded – undo
91 91
      *
92 92
      * @throws Exception
93 93
      */
94
-    public function __construct(Composer $composer)
94
+    public function __construct( Composer $composer )
95 95
     {
96 96
 
97 97
         $configExtraSettings = null;
98 98
 
99 99
         // Backwards compatibility with Mozart.
100
-        if (isset($composer->getPackage()->getExtra()['mozart'])) {
101
-            $configExtraSettings = (object)$composer->getPackage()->getExtra()['mozart'];
100
+        if ( isset( $composer->getPackage()->getExtra()[ 'mozart' ] ) ) {
101
+            $configExtraSettings = (object)$composer->getPackage()->getExtra()[ 'mozart' ];
102 102
 
103 103
             // Default setting for Mozart.
104
-            $this->setDeleteVendorFiles(true);
104
+            $this->setDeleteVendorFiles( true );
105 105
         }
106 106
 
107
-        if (isset($composer->getPackage()->getExtra()['strauss'])) {
108
-            $configExtraSettings = (object)$composer->getPackage()->getExtra()['strauss'];
107
+        if ( isset( $composer->getPackage()->getExtra()[ 'strauss' ] ) ) {
108
+            $configExtraSettings = (object)$composer->getPackage()->getExtra()[ 'strauss' ];
109 109
         }
110 110
 
111
-        if (!is_null($configExtraSettings)) {
112
-            $mapper = (new JsonMapperFactory())->bestFit();
111
+        if ( ! is_null( $configExtraSettings ) ) {
112
+            $mapper = ( new JsonMapperFactory() )->bestFit();
113 113
 
114 114
             $rename = new Rename();
115
-            $rename->addMapping(StraussConfig::class, 'dep_directory', 'targetDirectory');
116
-            $rename->addMapping(StraussConfig::class, 'dep_namespace', 'namespacePrefix');
115
+            $rename->addMapping( StraussConfig::class, 'dep_directory', 'targetDirectory' );
116
+            $rename->addMapping( StraussConfig::class, 'dep_namespace', 'namespacePrefix' );
117 117
 
118
-            $rename->addMapping(StraussConfig::class, 'exclude_packages', 'excludePackages');
119
-            $rename->addMapping(StraussConfig::class, 'delete_vendor_directories', 'deleteVendorFiles');
118
+            $rename->addMapping( StraussConfig::class, 'exclude_packages', 'excludePackages' );
119
+            $rename->addMapping( StraussConfig::class, 'delete_vendor_directories', 'deleteVendorFiles' );
120 120
 
121
-            $mapper->unshift($rename);
122
-            $mapper->push(new \JsonMapper\Middleware\CaseConversion(
121
+            $mapper->unshift( $rename );
122
+            $mapper->push( new \JsonMapper\Middleware\CaseConversion(
123 123
                 \JsonMapper\Enums\TextNotation::UNDERSCORE(),
124 124
                 \JsonMapper\Enums\TextNotation::CAMEL_CASE()
125
-            ));
125
+            ) );
126 126
 
127
-            $mapper->mapObject($configExtraSettings, $this);
127
+            $mapper->mapObject( $configExtraSettings, $this );
128 128
         }
129 129
 
130 130
         // Defaults.
131 131
         // * Use PSR-4 autoloader key
132 132
         // * Use PSR-0 autoloader key
133 133
         // * Use the package name
134
-        if (! isset($this->namespacePrefix)) {
135
-            if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
136
-                $this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-4']));
137
-            } elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
138
-                $this->setNamespacePrefix(array_key_first($composer->getPackage()->getAutoload()['psr-0']));
139
-            } elseif ('__root__' !== $composer->getPackage()->getName()) {
134
+        if ( ! isset( $this->namespacePrefix ) ) {
135
+            if ( isset( $composer->getPackage()->getAutoload()[ 'psr-4' ] ) ) {
136
+                $this->setNamespacePrefix( array_key_first( $composer->getPackage()->getAutoload()[ 'psr-4' ] ) );
137
+            } elseif ( isset( $composer->getPackage()->getAutoload()[ 'psr-0' ] ) ) {
138
+                $this->setNamespacePrefix( array_key_first( $composer->getPackage()->getAutoload()[ 'psr-0' ] ) );
139
+            } elseif ( '__root__' !== $composer->getPackage()->getName() ) {
140 140
                 $packageName = $composer->getPackage()->getName();
141
-                $namespacePrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
142
-                $namespacePrefix = str_replace('/', '\\', $namespacePrefix) . '\\';
143
-                $namespacePrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
144
-                    return strtoupper($match[0]);
145
-                }, $namespacePrefix);
146
-                $this->setNamespacePrefix($namespacePrefix);
147
-            } elseif (isset($this->classmapPrefix)) {
148
-                $namespacePrefix = rtrim($this->getClassmapPrefix(), '_');
149
-                $this->setNamespacePrefix($namespacePrefix);
141
+                $namespacePrefix = preg_replace( '/[^\w\/]+/', '_', $packageName );
142
+                $namespacePrefix = str_replace( '/', '\\', $namespacePrefix ) . '\\';
143
+                $namespacePrefix = preg_replace_callback( '/(?<=^|_|\\\\)[a-z]/', function( $match ) {
144
+                    return strtoupper( $match[ 0 ] );
145
+                }, $namespacePrefix );
146
+                $this->setNamespacePrefix( $namespacePrefix );
147
+            } elseif ( isset( $this->classmapPrefix ) ) {
148
+                $namespacePrefix = rtrim( $this->getClassmapPrefix(), '_' );
149
+                $this->setNamespacePrefix( $namespacePrefix );
150 150
             }
151 151
         }
152 152
 
153
-        if (! isset($this->classmapPrefix)) {
154
-            if (isset($composer->getPackage()->getAutoload()['psr-4'])) {
155
-                $autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-4']);
156
-                $classmapPrefix = str_replace("\\", "_", $autoloadKey);
157
-                $this->setClassmapPrefix($classmapPrefix);
158
-            } elseif (isset($composer->getPackage()->getAutoload()['psr-0'])) {
159
-                $autoloadKey = array_key_first($composer->getPackage()->getAutoload()['psr-0']);
160
-                $classmapPrefix = str_replace("\\", "_", $autoloadKey);
161
-                $this->setClassmapPrefix($classmapPrefix);
162
-            } elseif ('__root__' !== $composer->getPackage()->getName()) {
153
+        if ( ! isset( $this->classmapPrefix ) ) {
154
+            if ( isset( $composer->getPackage()->getAutoload()[ 'psr-4' ] ) ) {
155
+                $autoloadKey = array_key_first( $composer->getPackage()->getAutoload()[ 'psr-4' ] );
156
+                $classmapPrefix = str_replace( "\\", "_", $autoloadKey );
157
+                $this->setClassmapPrefix( $classmapPrefix );
158
+            } elseif ( isset( $composer->getPackage()->getAutoload()[ 'psr-0' ] ) ) {
159
+                $autoloadKey = array_key_first( $composer->getPackage()->getAutoload()[ 'psr-0' ] );
160
+                $classmapPrefix = str_replace( "\\", "_", $autoloadKey );
161
+                $this->setClassmapPrefix( $classmapPrefix );
162
+            } elseif ( '__root__' !== $composer->getPackage()->getName() ) {
163 163
                 $packageName = $composer->getPackage()->getName();
164
-                $classmapPrefix = preg_replace('/[^\w\/]+/', '_', $packageName);
165
-                $classmapPrefix = str_replace('/', '\\', $classmapPrefix);
164
+                $classmapPrefix = preg_replace( '/[^\w\/]+/', '_', $packageName );
165
+                $classmapPrefix = str_replace( '/', '\\', $classmapPrefix );
166 166
                 // Uppercase the first letter of each word.
167
-                $classmapPrefix = preg_replace_callback('/(?<=^|_|\\\\)[a-z]/', function ($match) {
168
-                    return strtoupper($match[0]);
169
-                }, $classmapPrefix);
170
-                $classmapPrefix = str_replace("\\", "_", $classmapPrefix);
171
-                $this->setClassmapPrefix($classmapPrefix);
172
-            } elseif (isset($this->namespacePrefix)) {
173
-                $classmapPrefix = preg_replace('/[^\w\/]+/', '_', $this->getNamespacePrefix());
174
-                $classmapPrefix = rtrim($classmapPrefix, '_') . '_';
175
-                $this->setClassmapPrefix($classmapPrefix);
167
+                $classmapPrefix = preg_replace_callback( '/(?<=^|_|\\\\)[a-z]/', function( $match ) {
168
+                    return strtoupper( $match[ 0 ] );
169
+                }, $classmapPrefix );
170
+                $classmapPrefix = str_replace( "\\", "_", $classmapPrefix );
171
+                $this->setClassmapPrefix( $classmapPrefix );
172
+            } elseif ( isset( $this->namespacePrefix ) ) {
173
+                $classmapPrefix = preg_replace( '/[^\w\/]+/', '_', $this->getNamespacePrefix() );
174
+                $classmapPrefix = rtrim( $classmapPrefix, '_' ) . '_';
175
+                $this->setClassmapPrefix( $classmapPrefix );
176 176
             }
177 177
         }
178 178
 
179
-        if (!isset($this->namespacePrefix) || !isset($this->classmapPrefix)) {
180
-            throw new Exception('Prefix not set. Please set `namespace_prefix`, `classmap_prefix` in composer.json/extra/strauss.');
179
+        if ( ! isset( $this->namespacePrefix ) || ! isset( $this->classmapPrefix ) ) {
180
+            throw new Exception( 'Prefix not set. Please set `namespace_prefix`, `classmap_prefix` in composer.json/extra/strauss.' );
181 181
         }
182 182
 
183
-        if (empty($this->packages)) {
184
-            $this->packages = array_map(function (\Composer\Package\Link $element) {
183
+        if ( empty( $this->packages ) ) {
184
+            $this->packages = array_map( function( \Composer\Package\Link $element ) {
185 185
                 return $element->getTarget();
186
-            }, $composer->getPackage()->getRequires());
186
+            }, $composer->getPackage()->getRequires() );
187 187
         }
188 188
 
189 189
         // If the bool flag for classmapOutput wasn't set in the Json config.
190
-        if (!isset($this->classmapOutput)) {
190
+        if ( ! isset( $this->classmapOutput ) ) {
191 191
             $this->classmapOutput = true;
192 192
             // Check each autoloader.
193
-            foreach ($composer->getPackage()->getAutoload() as $autoload) {
193
+            foreach ( $composer->getPackage()->getAutoload() as $autoload ) {
194 194
                 // To see if one of its paths.
195
-                foreach ($autoload as $path) {
195
+                foreach ( $autoload as $path ) {
196 196
                     // Matches the target directory.
197
-                    if (trim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR === $this->getTargetDirectory()) {
197
+                    if ( trim( $path, DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR === $this->getTargetDirectory() ) {
198 198
                         $this->classmapOutput = false;
199 199
                         break 2;
200 200
                     }
@@ -214,13 +214,13 @@  discard block
 block discarded – undo
214 214
      */
215 215
     public function getTargetDirectory(): string
216 216
     {
217
-        return trim($this->targetDirectory, DIRECTORY_SEPARATOR . '\\/') . DIRECTORY_SEPARATOR;
217
+        return trim( $this->targetDirectory, DIRECTORY_SEPARATOR . '\\/' ) . DIRECTORY_SEPARATOR;
218 218
     }
219 219
 
220 220
     /**
221 221
      * @param string $targetDirectory
222 222
      */
223
-    public function setTargetDirectory(string $targetDirectory): void
223
+    public function setTargetDirectory( string $targetDirectory ): void
224 224
     {
225 225
         $this->targetDirectory = trim(
226 226
             preg_replace(
@@ -230,7 +230,7 @@  discard block
 block discarded – undo
230 230
             ),
231 231
             DIRECTORY_SEPARATOR
232 232
         )
233
-            . DIRECTORY_SEPARATOR ;
233
+            . DIRECTORY_SEPARATOR;
234 234
     }
235 235
 
236 236
     /**
@@ -238,13 +238,13 @@  discard block
 block discarded – undo
238 238
      */
239 239
     public function getNamespacePrefix(): string
240 240
     {
241
-        return trim($this->namespacePrefix, '\\');
241
+        return trim( $this->namespacePrefix, '\\' );
242 242
     }
243 243
 
244 244
     /**
245 245
      * @param string $namespacePrefix
246 246
      */
247
-    public function setNamespacePrefix(string $namespacePrefix): void
247
+    public function setNamespacePrefix( string $namespacePrefix ): void
248 248
     {
249 249
         $this->namespacePrefix = $namespacePrefix;
250 250
     }
@@ -260,32 +260,32 @@  discard block
 block discarded – undo
260 260
     /**
261 261
      * @param string $classmapPrefix
262 262
      */
263
-    public function setClassmapPrefix(string $classmapPrefix): void
263
+    public function setClassmapPrefix( string $classmapPrefix ): void
264 264
     {
265 265
         $this->classmapPrefix = $classmapPrefix;
266 266
     }
267 267
 
268
-    public function setExcludeFromCopy(array $excludeFromCopy): void
268
+    public function setExcludeFromCopy( array $excludeFromCopy ): void
269 269
     {
270 270
         $this->excludeFromCopy = $excludeFromCopy;
271 271
     }
272 272
     public function getExcludePackagesFromCopy(): array
273 273
     {
274
-        return $this->excludeFromCopy['packages'] ?? array();
274
+        return $this->excludeFromCopy[ 'packages' ] ?? array();
275 275
     }
276 276
 
277 277
     public function getExcludeNamespacesFromCopy(): array
278 278
     {
279
-        return $this->excludeFromCopy['namespaces'] ?? array();
279
+        return $this->excludeFromCopy[ 'namespaces' ] ?? array();
280 280
     }
281 281
 
282 282
     public function getExcludeFilePatternsFromCopy(): array
283 283
     {
284
-        return $this->excludeFromCopy['filePatterns'] ?? array();
284
+        return $this->excludeFromCopy[ 'filePatterns' ] ?? array();
285 285
     }
286 286
 
287 287
 
288
-    public function setExcludeFromPrefix(array $excludeFromPrefix): void
288
+    public function setExcludeFromPrefix( array $excludeFromPrefix ): void
289 289
     {
290 290
         $this->excludeFromPrefix = $excludeFromPrefix;
291 291
     }
@@ -297,17 +297,17 @@  discard block
 block discarded – undo
297 297
      */
298 298
     public function getExcludePackagesFromPrefixing(): array
299 299
     {
300
-        return $this->excludeFromPrefix['packages'] ?? array();
300
+        return $this->excludeFromPrefix[ 'packages' ] ?? array();
301 301
     }
302 302
 
303 303
     public function getExcludeNamespacesFromPrefixing(): array
304 304
     {
305
-        return $this->excludeFromPrefix['namespaces'] ?? array();
305
+        return $this->excludeFromPrefix[ 'namespaces' ] ?? array();
306 306
     }
307 307
 
308 308
     public function getExcludeFilePatternsFromPrefixing(): array
309 309
     {
310
-        return $this->excludeFromPrefix['filePatterns'] ?? array();
310
+        return $this->excludeFromPrefix[ 'filePatterns' ] ?? array();
311 311
     }
312 312
 
313 313
 
@@ -322,7 +322,7 @@  discard block
 block discarded – undo
322 322
     /**
323 323
      * @param array $overrideAutoload
324 324
      */
325
-    public function setOverrideAutoload(array $overrideAutoload): void
325
+    public function setOverrideAutoload( array $overrideAutoload ): void
326 326
     {
327 327
         $this->overrideAutoload = $overrideAutoload;
328 328
     }
@@ -338,7 +338,7 @@  discard block
 block discarded – undo
338 338
     /**
339 339
      * @param bool $deleteVendorFiles
340 340
      */
341
-    public function setDeleteVendorFiles(bool $deleteVendorFiles): void
341
+    public function setDeleteVendorFiles( bool $deleteVendorFiles ): void
342 342
     {
343 343
         $this->deleteVendorFiles = $deleteVendorFiles;
344 344
     }
@@ -354,7 +354,7 @@  discard block
 block discarded – undo
354 354
     /**
355 355
      * @param array $packages
356 356
      */
357
-    public function setPackages(array $packages): void
357
+    public function setPackages( array $packages ): void
358 358
     {
359 359
         $this->packages = $packages;
360 360
     }
@@ -370,7 +370,7 @@  discard block
 block discarded – undo
370 370
     /**
371 371
      * @param bool $classmapOutput
372 372
      */
373
-    public function setClassmapOutput(bool $classmapOutput): void
373
+    public function setClassmapOutput( bool $classmapOutput ): void
374 374
     {
375 375
         $this->classmapOutput = $classmapOutput;
376 376
     }
@@ -378,14 +378,14 @@  discard block
 block discarded – undo
378 378
     /**
379 379
      * Backwards compatability with Mozart.
380 380
      */
381
-    public function setExcludePackages(array $excludePackages)
381
+    public function setExcludePackages( array $excludePackages )
382 382
     {
383 383
 
384
-        if (! isset($this->excludeFromPrefix)) {
384
+        if ( ! isset( $this->excludeFromPrefix ) ) {
385 385
             $this->excludeFromPrefix = array();
386 386
         }
387 387
 
388
-        $this->excludeFromPrefix['packages'] = $excludePackages;
388
+        $this->excludeFromPrefix[ 'packages' ] = $excludePackages;
389 389
     }
390 390
 
391 391
 
@@ -400,7 +400,7 @@  discard block
 block discarded – undo
400 400
     /**
401 401
      * @param array $namespaceReplacementPatterns
402 402
      */
403
-    public function setNamespaceReplacementPatterns(array $namespaceReplacementPatterns): void
403
+    public function setNamespaceReplacementPatterns( array $namespaceReplacementPatterns ): void
404 404
     {
405 405
         $this->namespaceReplacementPatterns = $namespaceReplacementPatterns;
406 406
     }
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -10,8 +10,7 @@  discard block
 block discarded – undo
10 10
 use JsonMapper\JsonMapperFactory;
11 11
 use JsonMapper\Middleware\Rename\Rename;
12 12
 
13
-class StraussConfig
14
-{
13
+class StraussConfig {
15 14
     /**
16 15
      * The output directory.
17 16
      *
@@ -91,8 +90,7 @@  discard block
 block discarded – undo
91 90
      *
92 91
      * @throws Exception
93 92
      */
94
-    public function __construct(Composer $composer)
95
-    {
93
+    public function __construct(Composer $composer) {
96 94
 
97 95
         $configExtraSettings = null;
98 96
 
@@ -378,8 +376,7 @@  discard block
 block discarded – undo
378 376
     /**
379 377
      * Backwards compatability with Mozart.
380 378
      */
381
-    public function setExcludePackages(array $excludePackages)
382
-    {
379
+    public function setExcludePackages(array $excludePackages) {
383 380
 
384 381
         if (! isset($this->excludeFromPrefix)) {
385 382
             $this->excludeFromPrefix = array();
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Composer/ComposerPackage.php 3 patches
Indentation   +130 added lines, -130 removed lines patch added patch discarded remove patch
@@ -13,134 +13,134 @@
 block discarded – undo
13 13
 
14 14
 class ComposerPackage
15 15
 {
16
-    /**
17
-     * The composer.json file as parsed by Composer.
18
-     *
19
-     * @see \Composer\Factory::create
20
-     *
21
-     * @var \Composer\Composer
22
-     */
23
-    protected \Composer\Composer $composer;
24
-
25
-    /**
26
-     * The name of the project in composer.json.
27
-     *
28
-     * e.g. brianhenryie/my-project
29
-     *
30
-     * @var string
31
-     */
32
-    protected string $name;
33
-
34
-    protected string $path;
35
-
36
-    /**
37
-     * The discovered files, classmap, psr0 and psr4 autoload keys discovered (as parsed by Composer).
38
-     *
39
-     * @var array<string, array<string, string>>
40
-     */
41
-    protected array $autoload = [];
42
-
43
-    /**
44
-     * The names in the composer.json's "requires" field (without versions).
45
-     *
46
-     * @var array
47
-     */
48
-    protected array $requiresNames = [];
49
-
50
-    protected string $license;
51
-
52
-    /**
53
-     * Create a PHP object to represent a composer package.
54
-     *
55
-     * @param string $absolutePath The absolute path to the vendor folder with the composer.json "name",
56
-     *          i.e. the domain/package definition, which is the vendor subdir from where the package's
57
-     *          composer.json should be read.
58
-     * @param array $overrideAutoload Optional configuration to replace the package's own autoload definition with
59
-     *                                    another which Strauss can use.
60
-     */
61
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
62
-    {
63
-
64
-        if (is_dir($absolutePath)) {
65
-            $absolutePath = rtrim($absolutePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'composer.json';
66
-        }
67
-
68
-        $composer = Factory::create(new NullIO(), $absolutePath);
69
-
70
-        $this->composer = $composer;
71
-
72
-        $this->name = $composer->getPackage()->getName();
73
-
74
-        $relativePath = null;
75
-
76
-        // TODO: Test on Windows (DIRECTORY_SEPARATOR).
77
-        if (1 === preg_match('/vendor\/(\w*\/\w*)\/composer\.json/', $absolutePath, $output_array)) {
78
-            $relativePath = $output_array[1];
79
-        }
80
-
81
-        $this->path = $relativePath ?? $composer->getPackage()->getName();
82
-
83
-        if (!is_null($overrideAutoload)) {
84
-            $composer->getPackage()->setAutoload($overrideAutoload);
85
-        }
86
-
87
-        $this->autoload = $composer->getPackage()->getAutoload();
88
-
89
-        foreach ($composer->getPackage()->getRequires() as $_name => $packageLink) {
90
-            $this->requiresNames[] = $packageLink->getTarget();
91
-        }
92
-
93
-        // Try to get the license from the package's composer.json, asssume proprietary (all rights reserved!).
94
-        $this->license = !empty($composer->getPackage()->getLicense())
95
-            ? implode(',', $composer->getPackage()->getLicense())
96
-            : 'proprietary?';
97
-    }
98
-
99
-    /**
100
-     * Composer package project name.
101
-     *
102
-     * @return string
103
-     */
104
-    public function getName(): string
105
-    {
106
-        return $this->name;
107
-    }
108
-
109
-    public function getPath(): string
110
-    {
111
-        return $this->path;
112
-    }
113
-
114
-    /**
115
-     *
116
-     * e.g. ['psr-4' => [ 'BrianHenryIE\Project' => 'src' ]]
117
-     *
118
-     * @return array<string, array<int|string, string>>
119
-     */
120
-    public function getAutoload(): array
121
-    {
122
-        return $this->autoload;
123
-    }
124
-
125
-    /**
126
-     * The names of the packages in the composer.json's "requires" field (without version).
127
-     *
128
-     * Excludes PHP, ext-*, since we won't be copying or prefixing them.
129
-     *
130
-     * @return string[]
131
-     */
132
-    public function getRequiresNames(): array
133
-    {
134
-        // Unset PHP, ext-*.
135
-        $removePhpExt = function ($element) {
136
-            return !( 0 === strpos($element, 'ext') || 'php' === $element );
137
-        };
138
-
139
-        return array_filter($this->requiresNames, $removePhpExt);
140
-    }
141
-
142
-    public function getLicense():string
143
-    {
144
-        return $this->license;
145
-    }
16
+	/**
17
+	 * The composer.json file as parsed by Composer.
18
+	 *
19
+	 * @see \Composer\Factory::create
20
+	 *
21
+	 * @var \Composer\Composer
22
+	 */
23
+	protected \Composer\Composer $composer;
24
+
25
+	/**
26
+	 * The name of the project in composer.json.
27
+	 *
28
+	 * e.g. brianhenryie/my-project
29
+	 *
30
+	 * @var string
31
+	 */
32
+	protected string $name;
33
+
34
+	protected string $path;
35
+
36
+	/**
37
+	 * The discovered files, classmap, psr0 and psr4 autoload keys discovered (as parsed by Composer).
38
+	 *
39
+	 * @var array<string, array<string, string>>
40
+	 */
41
+	protected array $autoload = [];
42
+
43
+	/**
44
+	 * The names in the composer.json's "requires" field (without versions).
45
+	 *
46
+	 * @var array
47
+	 */
48
+	protected array $requiresNames = [];
49
+
50
+	protected string $license;
51
+
52
+	/**
53
+	 * Create a PHP object to represent a composer package.
54
+	 *
55
+	 * @param string $absolutePath The absolute path to the vendor folder with the composer.json "name",
56
+	 *          i.e. the domain/package definition, which is the vendor subdir from where the package's
57
+	 *          composer.json should be read.
58
+	 * @param array $overrideAutoload Optional configuration to replace the package's own autoload definition with
59
+	 *                                    another which Strauss can use.
60
+	 */
61
+	public function __construct(string $absolutePath, array $overrideAutoload = null)
62
+	{
63
+
64
+		if (is_dir($absolutePath)) {
65
+			$absolutePath = rtrim($absolutePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'composer.json';
66
+		}
67
+
68
+		$composer = Factory::create(new NullIO(), $absolutePath);
69
+
70
+		$this->composer = $composer;
71
+
72
+		$this->name = $composer->getPackage()->getName();
73
+
74
+		$relativePath = null;
75
+
76
+		// TODO: Test on Windows (DIRECTORY_SEPARATOR).
77
+		if (1 === preg_match('/vendor\/(\w*\/\w*)\/composer\.json/', $absolutePath, $output_array)) {
78
+			$relativePath = $output_array[1];
79
+		}
80
+
81
+		$this->path = $relativePath ?? $composer->getPackage()->getName();
82
+
83
+		if (!is_null($overrideAutoload)) {
84
+			$composer->getPackage()->setAutoload($overrideAutoload);
85
+		}
86
+
87
+		$this->autoload = $composer->getPackage()->getAutoload();
88
+
89
+		foreach ($composer->getPackage()->getRequires() as $_name => $packageLink) {
90
+			$this->requiresNames[] = $packageLink->getTarget();
91
+		}
92
+
93
+		// Try to get the license from the package's composer.json, asssume proprietary (all rights reserved!).
94
+		$this->license = !empty($composer->getPackage()->getLicense())
95
+			? implode(',', $composer->getPackage()->getLicense())
96
+			: 'proprietary?';
97
+	}
98
+
99
+	/**
100
+	 * Composer package project name.
101
+	 *
102
+	 * @return string
103
+	 */
104
+	public function getName(): string
105
+	{
106
+		return $this->name;
107
+	}
108
+
109
+	public function getPath(): string
110
+	{
111
+		return $this->path;
112
+	}
113
+
114
+	/**
115
+	 *
116
+	 * e.g. ['psr-4' => [ 'BrianHenryIE\Project' => 'src' ]]
117
+	 *
118
+	 * @return array<string, array<int|string, string>>
119
+	 */
120
+	public function getAutoload(): array
121
+	{
122
+		return $this->autoload;
123
+	}
124
+
125
+	/**
126
+	 * The names of the packages in the composer.json's "requires" field (without version).
127
+	 *
128
+	 * Excludes PHP, ext-*, since we won't be copying or prefixing them.
129
+	 *
130
+	 * @return string[]
131
+	 */
132
+	public function getRequiresNames(): array
133
+	{
134
+		// Unset PHP, ext-*.
135
+		$removePhpExt = function ($element) {
136
+			return !( 0 === strpos($element, 'ext') || 'php' === $element );
137
+		};
138
+
139
+		return array_filter($this->requiresNames, $removePhpExt);
140
+	}
141
+
142
+	public function getLicense():string
143
+	{
144
+		return $this->license;
145
+	}
146 146
 }
Please login to merge, or discard this patch.
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -38,14 +38,14 @@  discard block
 block discarded – undo
38 38
      *
39 39
      * @var array<string, array<string, string>>
40 40
      */
41
-    protected array $autoload = [];
41
+    protected array $autoload = [ ];
42 42
 
43 43
     /**
44 44
      * The names in the composer.json's "requires" field (without versions).
45 45
      *
46 46
      * @var array
47 47
      */
48
-    protected array $requiresNames = [];
48
+    protected array $requiresNames = [ ];
49 49
 
50 50
     protected string $license;
51 51
 
@@ -58,14 +58,14 @@  discard block
 block discarded – undo
58 58
      * @param array $overrideAutoload Optional configuration to replace the package's own autoload definition with
59 59
      *                                    another which Strauss can use.
60 60
      */
61
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
61
+    public function __construct( string $absolutePath, array $overrideAutoload = null )
62 62
     {
63 63
 
64
-        if (is_dir($absolutePath)) {
65
-            $absolutePath = rtrim($absolutePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'composer.json';
64
+        if ( is_dir( $absolutePath ) ) {
65
+            $absolutePath = rtrim( $absolutePath, DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR . 'composer.json';
66 66
         }
67 67
 
68
-        $composer = Factory::create(new NullIO(), $absolutePath);
68
+        $composer = Factory::create( new NullIO(), $absolutePath );
69 69
 
70 70
         $this->composer = $composer;
71 71
 
@@ -74,25 +74,25 @@  discard block
 block discarded – undo
74 74
         $relativePath = null;
75 75
 
76 76
         // TODO: Test on Windows (DIRECTORY_SEPARATOR).
77
-        if (1 === preg_match('/vendor\/(\w*\/\w*)\/composer\.json/', $absolutePath, $output_array)) {
78
-            $relativePath = $output_array[1];
77
+        if ( 1 === preg_match( '/vendor\/(\w*\/\w*)\/composer\.json/', $absolutePath, $output_array ) ) {
78
+            $relativePath = $output_array[ 1 ];
79 79
         }
80 80
 
81 81
         $this->path = $relativePath ?? $composer->getPackage()->getName();
82 82
 
83
-        if (!is_null($overrideAutoload)) {
84
-            $composer->getPackage()->setAutoload($overrideAutoload);
83
+        if ( ! is_null( $overrideAutoload ) ) {
84
+            $composer->getPackage()->setAutoload( $overrideAutoload );
85 85
         }
86 86
 
87 87
         $this->autoload = $composer->getPackage()->getAutoload();
88 88
 
89
-        foreach ($composer->getPackage()->getRequires() as $_name => $packageLink) {
90
-            $this->requiresNames[] = $packageLink->getTarget();
89
+        foreach ( $composer->getPackage()->getRequires() as $_name => $packageLink ) {
90
+            $this->requiresNames[ ] = $packageLink->getTarget();
91 91
         }
92 92
 
93 93
         // Try to get the license from the package's composer.json, asssume proprietary (all rights reserved!).
94
-        $this->license = !empty($composer->getPackage()->getLicense())
95
-            ? implode(',', $composer->getPackage()->getLicense())
94
+        $this->license = ! empty( $composer->getPackage()->getLicense() )
95
+            ? implode( ',', $composer->getPackage()->getLicense() )
96 96
             : 'proprietary?';
97 97
     }
98 98
 
@@ -132,11 +132,11 @@  discard block
 block discarded – undo
132 132
     public function getRequiresNames(): array
133 133
     {
134 134
         // Unset PHP, ext-*.
135
-        $removePhpExt = function ($element) {
136
-            return !( 0 === strpos($element, 'ext') || 'php' === $element );
135
+        $removePhpExt = function( $element ) {
136
+            return ! ( 0 === strpos( $element, 'ext' ) || 'php' === $element );
137 137
         };
138 138
 
139
-        return array_filter($this->requiresNames, $removePhpExt);
139
+        return array_filter( $this->requiresNames, $removePhpExt );
140 140
     }
141 141
 
142 142
     public function getLicense():string
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -11,8 +11,7 @@  discard block
 block discarded – undo
11 11
 use Composer\IO\NullIO;
12 12
 use stdClass;
13 13
 
14
-class ComposerPackage
15
-{
14
+class ComposerPackage {
16 15
     /**
17 16
      * The composer.json file as parsed by Composer.
18 17
      *
@@ -58,8 +57,7 @@  discard block
 block discarded – undo
58 57
      * @param array $overrideAutoload Optional configuration to replace the package's own autoload definition with
59 58
      *                                    another which Strauss can use.
60 59
      */
61
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
62
-    {
60
+    public function __construct(string $absolutePath, array $overrideAutoload = null) {
63 61
 
64 62
         if (is_dir($absolutePath)) {
65 63
             $absolutePath = rtrim($absolutePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . 'composer.json';
Please login to merge, or discard this patch.
vendor/brianhenryie/strauss/src/Composer/ProjectComposerPackage.php 3 patches
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -9,48 +9,48 @@
 block discarded – undo
9 9
 
10 10
 class ProjectComposerPackage extends ComposerPackage
11 11
 {
12
-    protected string $author;
13
-
14
-    protected string $vendorDirectory;
15
-
16
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
17
-    {
18
-        parent::__construct($absolutePath, $overrideAutoload);
19
-
20
-        $authors = $this->composer->getPackage()->getAuthors();
21
-        if (empty($authors) || !isset($authors[0]['name'])) {
22
-            $this->author = explode("/", $this->name, 2)[0];
23
-        } else {
24
-            $this->author = $authors[0]['name'];
25
-        }
26
-
27
-        $vendorDirectory = $this->composer->getConfig()->get('vendor-dir');
28
-        if (is_string($vendorDirectory)) {
29
-            $vendorDirectory = str_replace($absolutePath, '', (string) $vendorDirectory);
30
-            $this->vendorDirectory = $vendorDirectory;
31
-        } else {
32
-            $this->vendorDirectory = 'vendor' . DIRECTORY_SEPARATOR;
33
-        }
34
-    }
35
-
36
-    /**
37
-     * @return StraussConfig
38
-     * @throws \Exception
39
-     */
40
-    public function getStraussConfig(): StraussConfig
41
-    {
42
-
43
-        return new StraussConfig($this->composer);
44
-    }
45
-
46
-
47
-    public function getAuthor(): string
48
-    {
49
-        return $this->author;
50
-    }
51
-
52
-    public function getVendorDirectory(): string
53
-    {
54
-        return rtrim($this->vendorDirectory, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
55
-    }
12
+	protected string $author;
13
+
14
+	protected string $vendorDirectory;
15
+
16
+	public function __construct(string $absolutePath, array $overrideAutoload = null)
17
+	{
18
+		parent::__construct($absolutePath, $overrideAutoload);
19
+
20
+		$authors = $this->composer->getPackage()->getAuthors();
21
+		if (empty($authors) || !isset($authors[0]['name'])) {
22
+			$this->author = explode("/", $this->name, 2)[0];
23
+		} else {
24
+			$this->author = $authors[0]['name'];
25
+		}
26
+
27
+		$vendorDirectory = $this->composer->getConfig()->get('vendor-dir');
28
+		if (is_string($vendorDirectory)) {
29
+			$vendorDirectory = str_replace($absolutePath, '', (string) $vendorDirectory);
30
+			$this->vendorDirectory = $vendorDirectory;
31
+		} else {
32
+			$this->vendorDirectory = 'vendor' . DIRECTORY_SEPARATOR;
33
+		}
34
+	}
35
+
36
+	/**
37
+	 * @return StraussConfig
38
+	 * @throws \Exception
39
+	 */
40
+	public function getStraussConfig(): StraussConfig
41
+	{
42
+
43
+		return new StraussConfig($this->composer);
44
+	}
45
+
46
+
47
+	public function getAuthor(): string
48
+	{
49
+		return $this->author;
50
+	}
51
+
52
+	public function getVendorDirectory(): string
53
+	{
54
+		return rtrim($this->vendorDirectory, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
55
+	}
56 56
 }
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -13,20 +13,20 @@  discard block
 block discarded – undo
13 13
 
14 14
     protected string $vendorDirectory;
15 15
 
16
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
16
+    public function __construct( string $absolutePath, array $overrideAutoload = null )
17 17
     {
18
-        parent::__construct($absolutePath, $overrideAutoload);
18
+        parent::__construct( $absolutePath, $overrideAutoload );
19 19
 
20 20
         $authors = $this->composer->getPackage()->getAuthors();
21
-        if (empty($authors) || !isset($authors[0]['name'])) {
22
-            $this->author = explode("/", $this->name, 2)[0];
21
+        if ( empty( $authors ) || ! isset( $authors[ 0 ][ 'name' ] ) ) {
22
+            $this->author = explode( "/", $this->name, 2 )[ 0 ];
23 23
         } else {
24
-            $this->author = $authors[0]['name'];
24
+            $this->author = $authors[ 0 ][ 'name' ];
25 25
         }
26 26
 
27
-        $vendorDirectory = $this->composer->getConfig()->get('vendor-dir');
28
-        if (is_string($vendorDirectory)) {
29
-            $vendorDirectory = str_replace($absolutePath, '', (string) $vendorDirectory);
27
+        $vendorDirectory = $this->composer->getConfig()->get( 'vendor-dir' );
28
+        if ( is_string( $vendorDirectory ) ) {
29
+            $vendorDirectory = str_replace( $absolutePath, '', (string)$vendorDirectory );
30 30
             $this->vendorDirectory = $vendorDirectory;
31 31
         } else {
32 32
             $this->vendorDirectory = 'vendor' . DIRECTORY_SEPARATOR;
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
     public function getStraussConfig(): StraussConfig
41 41
     {
42 42
 
43
-        return new StraussConfig($this->composer);
43
+        return new StraussConfig( $this->composer );
44 44
     }
45 45
 
46 46
 
@@ -51,6 +51,6 @@  discard block
 block discarded – undo
51 51
 
52 52
     public function getVendorDirectory(): string
53 53
     {
54
-        return rtrim($this->vendorDirectory, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
54
+        return rtrim( $this->vendorDirectory, DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR;
55 55
     }
56 56
 }
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -7,14 +7,12 @@
 block discarded – undo
7 7
 
8 8
 use BrianHenryIE\Strauss\Composer\Extra\StraussConfig;
9 9
 
10
-class ProjectComposerPackage extends ComposerPackage
11
-{
10
+class ProjectComposerPackage extends ComposerPackage {
12 11
     protected string $author;
13 12
 
14 13
     protected string $vendorDirectory;
15 14
 
16
-    public function __construct(string $absolutePath, array $overrideAutoload = null)
17
-    {
15
+    public function __construct(string $absolutePath, array $overrideAutoload = null) {
18 16
         parent::__construct($absolutePath, $overrideAutoload);
19 17
 
20 18
         $authors = $this->composer->getPackage()->getAuthors();
Please login to merge, or discard this patch.