Completed
Pull Request — master (#669)
by Andrey
06:52 queued 04:53
created
src/Extracting/Strategies/BodyParameters/GetFromBodyParamTag.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -54,10 +54,10 @@  discard block
 block discarded – undo
54 54
     private function getBodyParametersFromDocBlock($tags)
55 55
     {
56 56
         $parameters = collect($tags)
57
-            ->filter(function ($tag) {
57
+            ->filter(function($tag) {
58 58
                 return $tag instanceof Tag && $tag->getName() === 'bodyParam';
59 59
             })
60
-            ->mapWithKeys(function (Tag $tag) {
60
+            ->mapWithKeys(function(Tag $tag) {
61 61
                 // Format:
62 62
                 // @bodyParam <name> <type> <"required" (optional)> <description>
63 63
                 // Examples:
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 
83 83
                 $type = $this->normalizeParameterType($type);
84 84
                 list($description, $example) = $this->parseParamDescription($description, $type);
85
-                $value = is_null($example) && ! $this->shouldExcludeExample($tag->getContent())
85
+                $value = is_null($example) && !$this->shouldExcludeExample($tag->getContent())
86 86
                     ? $this->generateDummyValue($type)
87 87
                     : $example;
88 88
 
Please login to merge, or discard this patch.
src/ApiDoc.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@
 block discarded – undo
9 9
 {
10 10
     public static function routes($path = '/doc')
11 11
     {
12
-        return Route::get("$path{format?}", function (?string $format = null) {
12
+        return Route::get("$path{format?}", function(?string $format = null) {
13 13
             if ($format == '.json') {
14 14
                 return response(
15 15
                     Storage::disk('local')->get('apidoc/collection.json'),
Please login to merge, or discard this patch.
src/Tools/Utils.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -53,7 +53,7 @@  discard block
 block discarded – undo
53 53
     public static function replaceUrlParameterPlaceholdersWithValues(string $uri, array $urlParameters)
54 54
     {
55 55
         $matches = preg_match_all('/{.+?}/i', $uri, $parameterPaths);
56
-        if (! $matches) {
56
+        if (!$matches) {
57 57
             return $uri;
58 58
         }
59 59
 
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
 
89 89
     public static function deleteDirectoryAndContents($dir)
90 90
     {
91
-        $adapter = new Local(realpath(__DIR__.'/../../'));
91
+        $adapter = new Local(realpath(__DIR__ . '/../../'));
92 92
         $fs = new Filesystem($adapter);
93 93
         $fs->deleteDir($dir);
94 94
     }
@@ -101,7 +101,7 @@  discard block
 block discarded – undo
101 101
         $result = '';
102 102
         $padWith = str_repeat(' ', $indentationLevel);
103 103
         foreach ($split as $index => $line) {
104
-            $result .= ($index == 0 ? '' : "\n$padWith").$line;
104
+            $result .= ($index == 0 ? '' : "\n$padWith") . $line;
105 105
         }
106 106
 
107 107
         return $result;
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -49,7 +49,7 @@
 block discarded – undo
49 49
      * @param string $uri
50 50
      * @param array $urlParameters Dictionary of url params and example values
51 51
      *
52
-     * @return mixed
52
+     * @return string
53 53
      */
54 54
     public static function replaceUrlParameterPlaceholdersWithValues(string $uri, array $urlParameters)
55 55
     {
Please login to merge, or discard this patch.
src/Writing/PostmanCollectionWriter.php 1 patch
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -40,32 +40,32 @@
 block discarded – undo
40 40
         $collection = [
41 41
             'variables' => [],
42 42
             'info' => [
43
-                'name' => config('apidoc.postman.name') ?: config('app.name').' API',
43
+                'name' => config('apidoc.postman.name') ?: config('app.name') . ' API',
44 44
                 '_postman_id' => Uuid::uuid4()->toString(),
45 45
                 'description' => config('apidoc.postman.description') ?: '',
46 46
                 'schema' => 'https://schema.getpostman.com/json/collection/v2.0.0/collection.json',
47 47
             ],
48
-            'item' => $this->routeGroups->map(function ($routes, $groupName) {
48
+            'item' => $this->routeGroups->map(function($routes, $groupName) {
49 49
                 return [
50 50
                     'name' => $groupName,
51 51
                     'description' => '',
52
-                    'item' => $routes->map(function ($route) {
52
+                    'item' => $routes->map(function($route) {
53 53
                         $mode = 'raw';
54 54
 
55 55
                         return [
56 56
                             'name' => $route['metadata']['title'] != '' ? $route['metadata']['title'] : url($route['uri']),
57 57
                             'request' => [
58
-                                'url' => url($route['uri']).(collect($route['queryParameters'])->isEmpty()
58
+                                'url' => url($route['uri']) . (collect($route['queryParameters'])->isEmpty()
59 59
                                         ? ''
60
-                                        : ('?'.implode('&', collect($route['queryParameters'])->map(function ($parameter, $key) {
61
-                                            return urlencode($key).'='.urlencode($parameter['value'] ?? '');
60
+                                        : ('?' . implode('&', collect($route['queryParameters'])->map(function($parameter, $key) {
61
+                                            return urlencode($key) . '=' . urlencode($parameter['value'] ?? '');
62 62
                                         })->all()))),
63 63
                                 'method' => $route['methods'][0],
64 64
                                 'header' => collect($route['headers'])
65 65
                                     ->union([
66 66
                                         'Accept' => 'application/json',
67 67
                                     ])
68
-                                    ->map(function ($value, $header) {
68
+                                    ->map(function($value, $header) {
69 69
                                         return [
70 70
                                             'key' => $header,
71 71
                                             'value' => $value,
Please login to merge, or discard this patch.
src/Extracting/Strategies/Responses/UseResponseFileTag.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
     {
45 45
         // Avoid "holes" in the keys of the filtered array, by using array_values on the filtered array
46 46
         $responseFileTags = array_values(
47
-            array_filter($tags, function ($tag) {
47
+            array_filter($tags, function($tag) {
48 48
                 return $tag instanceof Tag && strtolower($tag->getName()) === 'responsefile';
49 49
             })
50 50
         );
@@ -53,16 +53,16 @@  discard block
 block discarded – undo
53 53
             return null;
54 54
         }
55 55
 
56
-        $responses = array_map(function (Tag $responseFileTag) {
56
+        $responses = array_map(function(Tag $responseFileTag) {
57 57
             preg_match('/^(\d{3})?\s?([\S]*[\s]*?)(\{.*\})?$/', $responseFileTag->getContent(), $result);
58 58
             $relativeFilePath = trim($result[2]);
59 59
             $filePath = storage_path($relativeFilePath);
60
-            if (! file_exists($filePath)) {
61
-                throw new \Exception('@responseFile '.$relativeFilePath.' does not exist');
60
+            if (!file_exists($filePath)) {
61
+                throw new \Exception('@responseFile ' . $relativeFilePath . ' does not exist');
62 62
             }
63 63
             $status = $result[1] ?: 200;
64 64
             $content = $result[2] ? file_get_contents($filePath, true) : '{}';
65
-            $json = ! empty($result[3]) ? str_replace("'", '"', $result[3]) : '{}';
65
+            $json = !empty($result[3]) ? str_replace("'", '"', $result[3]) : '{}';
66 66
             $merged = array_merge(json_decode($content, true), json_decode($json, true));
67 67
 
68 68
             return ['content' => json_encode($merged), 'status' => (int) $status];
Please login to merge, or discard this patch.
src/Extracting/Generator.php 1 patch
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -56,7 +56,7 @@  discard block
 block discarded – undo
56 56
         $method = $controller->getMethod($methodName);
57 57
 
58 58
         $parsedRoute = [
59
-            'id' => md5($this->getUri($route).':'.implode($this->getMethods($route))),
59
+            'id' => md5($this->getUri($route) . ':' . implode($this->getMethods($route))),
60 60
             'methods' => $this->getMethods($route),
61 61
             'uri' => $this->getUri($route),
62 62
         ];
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
 
82 82
         $responses = $this->fetchResponses($controller, $method, $route, $routeRules, $parsedRoute);
83 83
         $parsedRoute['responses'] = $responses;
84
-        $parsedRoute['showresponse'] = ! empty($responses);
84
+        $parsedRoute['showresponse'] = !empty($responses);
85 85
 
86 86
         return $parsedRoute;
87 87
     }
@@ -118,7 +118,7 @@  discard block
 block discarded – undo
118 118
     {
119 119
         $responses = $this->iterateThroughStrategies('responses', $context, [$route, $controller, $method, $rulesToApply]);
120 120
         if (count($responses)) {
121
-            return array_filter($responses, function ($response) {
121
+            return array_filter($responses, function($response) {
122 122
                 return $response['content'] != null;
123 123
             });
124 124
         }
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
             $strategyArgs = $arguments;
169 169
             $strategyArgs[] = $context;
170 170
             $results = $strategy(...$strategyArgs);
171
-            if (! is_null($results)) {
171
+            if (!is_null($results)) {
172 172
                 foreach ($results as $index => $item) {
173 173
                     if ($stage == 'responses') {
174 174
                         // Responses are additive
@@ -180,7 +180,7 @@  discard block
 block discarded – undo
180 180
                     // and also allows values to be overwritten
181 181
 
182 182
                     // Don't allow overwriting if an empty value is trying to replace a set one
183
-                    if (! in_array($context[$stage], [null, ''], true) && in_array($item, [null, ''], true)) {
183
+                    if (!in_array($context[$stage], [null, ''], true) && in_array($item, [null, ''], true)) {
184 184
                         continue;
185 185
                     } else {
186 186
                         $context[$stage][$index] = $item;
@@ -205,8 +205,8 @@  discard block
 block discarded – undo
205 205
         $values = [];
206 206
 
207 207
         // Remove params which have no examples.
208
-        $params = array_filter($params, function ($details) {
209
-            return ! is_null($details['value']);
208
+        $params = array_filter($params, function($details) {
209
+            return !is_null($details['value']);
210 210
         });
211 211
 
212 212
         foreach ($params as $paramName => $details) {
Please login to merge, or discard this patch.
src/Extracting/Strategies/Responses/UseTransformerTags.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -141,7 +141,7 @@
 block discarded – undo
141 141
     /**
142 142
      * @param string $type
143 143
      *
144
-     * @return Model|object
144
+     * @return string
145 145
      */
146 146
     protected function instantiateTransformerModel(string $type)
147 147
     {
Please login to merge, or discard this patch.
Unused Use Statements   -1 removed lines patch added patch discarded remove patch
@@ -3,7 +3,6 @@
 block discarded – undo
3 3
 namespace Mpociot\ApiDoc\Extracting\Strategies\Responses;
4 4
 
5 5
 use Exception;
6
-use Illuminate\Database\Eloquent\Model;
7 6
 use Illuminate\Database\Eloquent\Model as IlluminateModel;
8 7
 use Illuminate\Routing\Route;
9 8
 use Illuminate\Support\Arr;
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
 
66 66
             $fractal = new Manager();
67 67
 
68
-            if (! is_null(config('apidoc.fractal.serializer'))) {
68
+            if (!is_null(config('apidoc.fractal.serializer'))) {
69 69
                 $fractal->setSerializer(app(config('apidoc.fractal.serializer')));
70 70
             }
71 71
 
@@ -84,7 +84,7 @@  discard block
 block discarded – undo
84 84
                 ],
85 85
             ];
86 86
         } catch (Exception $e) {
87
-            echo 'Exception thrown when fetching transformer response for ['.implode(',', $route->methods)."] {$route->uri}.\n";
87
+            echo 'Exception thrown when fetching transformer response for [' . implode(',', $route->methods) . "] {$route->uri}.\n";
88 88
             if (Flags::$shouldBeVerbose) {
89 89
                 Utils::dumpException($e);
90 90
             } else {
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
      */
121 121
     private function getClassToBeTransformed(array $tags, ReflectionMethod $transformerMethod): string
122 122
     {
123
-        $modelTag = Arr::first(array_filter($tags, function ($tag) {
123
+        $modelTag = Arr::first(array_filter($tags, function($tag) {
124 124
             return ($tag instanceof Tag) && strtolower($tag->getName()) == 'transformermodel';
125 125
         }));
126 126
 
@@ -129,7 +129,7 @@  discard block
 block discarded – undo
129 129
             $type = $modelTag->getContent();
130 130
         } else {
131 131
             $parameter = Arr::first($transformerMethod->getParameters());
132
-            if ($parameter->hasType() && ! $parameter->getType()->isBuiltin() && class_exists($parameter->getType()->getName())) {
132
+            if ($parameter->hasType() && !$parameter->getType()->isBuiltin() && class_exists($parameter->getType()->getName())) {
133 133
                 // Ladies and gentlemen, we have a type!
134 134
                 $type = $parameter->getType()->getName();
135 135
             }
@@ -190,7 +190,7 @@  discard block
 block discarded – undo
190 190
     private function getTransformerTag(array $tags)
191 191
     {
192 192
         $transformerTags = array_values(
193
-            array_filter($tags, function ($tag) {
193
+            array_filter($tags, function($tag) {
194 194
                 return ($tag instanceof Tag) && in_array(strtolower($tag->getName()), ['transformer', 'transformercollection']);
195 195
             })
196 196
         );
Please login to merge, or discard this patch.
src/Commands/RebuildDocumentation.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -15,13 +15,13 @@
 block discarded – undo
15 15
     public function handle()
16 16
     {
17 17
         $sourceOutputPath = 'resources/docs/source';
18
-        if (! is_dir($sourceOutputPath)) {
19
-            $this->error('There is no existing documentation available at '.$sourceOutputPath.'.');
18
+        if (!is_dir($sourceOutputPath)) {
19
+            $this->error('There is no existing documentation available at ' . $sourceOutputPath . '.');
20 20
 
21 21
             return false;
22 22
         }
23 23
 
24
-        $this->info('Rebuilding API documentation from '.$sourceOutputPath.'/index.md');
24
+        $this->info('Rebuilding API documentation from ' . $sourceOutputPath . '/index.md');
25 25
 
26 26
         $writer = new Writer($this, new DocumentationConfig(config('apidoc')));
27 27
         $writer->writeHtmlDocs();
Please login to merge, or discard this patch.
src/Writing/Writer.php 1 patch
Spacing   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -91,8 +91,8 @@  discard block
 block discarded – undo
91 91
      */
92 92
     public function writeMarkdownAndSourceFiles(Collection $parsedRoutes)
93 93
     {
94
-        $targetFile = $this->sourceOutputPath.'/source/index.md';
95
-        $compareFile = $this->sourceOutputPath.'/source/.compare.md';
94
+        $targetFile = $this->sourceOutputPath . '/source/index.md';
95
+        $compareFile = $this->sourceOutputPath . '/source/.compare.md';
96 96
 
97 97
         $infoText = view('apidoc::partials.info')
98 98
             ->with('outputPath', 'docs')
@@ -114,16 +114,16 @@  discard block
 block discarded – undo
114 114
             $generatedDocumentation = file_get_contents($targetFile);
115 115
             $compareDocumentation = file_get_contents($compareFile);
116 116
 
117
-            $parsedRouteOutput->transform(function (Collection $routeGroup) use ($generatedDocumentation, $compareDocumentation) {
118
-                return $routeGroup->transform(function (array $route) use ($generatedDocumentation, $compareDocumentation) {
119
-                    if (preg_match('/<!-- START_'.$route['id'].' -->(.*)<!-- END_'.$route['id'].' -->/is', $generatedDocumentation, $existingRouteDoc)) {
120
-                        $routeDocumentationChanged = (preg_match('/<!-- START_'.$route['id'].' -->(.*)<!-- END_'.$route['id'].' -->/is', $compareDocumentation, $lastDocWeGeneratedForThisRoute) && $lastDocWeGeneratedForThisRoute[1] !== $existingRouteDoc[1]);
117
+            $parsedRouteOutput->transform(function(Collection $routeGroup) use ($generatedDocumentation, $compareDocumentation) {
118
+                return $routeGroup->transform(function(array $route) use ($generatedDocumentation, $compareDocumentation) {
119
+                    if (preg_match('/<!-- START_' . $route['id'] . ' -->(.*)<!-- END_' . $route['id'] . ' -->/is', $generatedDocumentation, $existingRouteDoc)) {
120
+                        $routeDocumentationChanged = (preg_match('/<!-- START_' . $route['id'] . ' -->(.*)<!-- END_' . $route['id'] . ' -->/is', $compareDocumentation, $lastDocWeGeneratedForThisRoute) && $lastDocWeGeneratedForThisRoute[1] !== $existingRouteDoc[1]);
121 121
                         if ($routeDocumentationChanged === false || $this->forceIt) {
122 122
                             if ($routeDocumentationChanged) {
123
-                                $this->output->warn('Discarded manual changes for route ['.implode(',', $route['methods']).'] '.$route['uri']);
123
+                                $this->output->warn('Discarded manual changes for route [' . implode(',', $route['methods']) . '] ' . $route['uri']);
124 124
                             }
125 125
                         } else {
126
-                            $this->output->warn('Skipping modified route ['.implode(',', $route['methods']).'] '.$route['uri']);
126
+                            $this->output->warn('Skipping modified route [' . implode(',', $route['methods']) . '] ' . $route['uri']);
127 127
                             $route['modified_output'] = $existingRouteDoc[0];
128 128
                         }
129 129
                     }
@@ -146,9 +146,9 @@  discard block
 block discarded – undo
146 146
             ->with('showPostmanCollectionButton', $this->shouldGeneratePostmanCollection)
147 147
             ->with('parsedRoutes', $parsedRouteOutput);
148 148
 
149
-        $this->output->info('Writing index.md and source files to: '.$this->sourceOutputPath);
149
+        $this->output->info('Writing index.md and source files to: ' . $this->sourceOutputPath);
150 150
 
151
-        if (! is_dir($this->sourceOutputPath)) {
151
+        if (!is_dir($this->sourceOutputPath)) {
152 152
             $documentarian = new Documentarian();
153 153
             $documentarian->create($this->sourceOutputPath);
154 154
         }
@@ -169,19 +169,19 @@  discard block
 block discarded – undo
169 169
 
170 170
         file_put_contents($compareFile, $compareMarkdown);
171 171
 
172
-        $this->output->info('Wrote index.md and source files to: '.$this->sourceOutputPath);
172
+        $this->output->info('Wrote index.md and source files to: ' . $this->sourceOutputPath);
173 173
     }
174 174
 
175 175
     public function generateMarkdownOutputForEachRoute(Collection $parsedRoutes, array $settings): Collection
176 176
     {
177
-        $parsedRouteOutput = $parsedRoutes->map(function (Collection $routeGroup) use ($settings) {
178
-            return $routeGroup->map(function (array $route) use ($settings) {
179
-                if (count($route['cleanBodyParameters']) && ! isset($route['headers']['Content-Type'])) {
177
+        $parsedRouteOutput = $parsedRoutes->map(function(Collection $routeGroup) use ($settings) {
178
+            return $routeGroup->map(function(array $route) use ($settings) {
179
+                if (count($route['cleanBodyParameters']) && !isset($route['headers']['Content-Type'])) {
180 180
                     // Set content type if the user forgot to set it
181 181
                     $route['headers']['Content-Type'] = 'application/json';
182 182
                 }
183 183
 
184
-                $hasRequestOptions = ! empty($route['headers']) || ! empty($route['cleanQueryParameters']) || ! empty($route['cleanBodyParameters']);
184
+                $hasRequestOptions = !empty($route['headers']) || !empty($route['cleanQueryParameters']) || !empty($route['cleanBodyParameters']);
185 185
                 $route['output'] = (string) view('apidoc::partials.route')
186 186
                     ->with('hasRequestOptions', $hasRequestOptions)
187 187
                     ->with('route', $route)
@@ -230,18 +230,18 @@  discard block
 block discarded – undo
230 230
 
231 231
     protected function getMarkdownToPrepend(): string
232 232
     {
233
-        $prependFile = $this->sourceOutputPath.'/source/prepend.md';
233
+        $prependFile = $this->sourceOutputPath . '/source/prepend.md';
234 234
         $prependFileContents = file_exists($prependFile)
235
-            ? file_get_contents($prependFile)."\n" : '';
235
+            ? file_get_contents($prependFile) . "\n" : '';
236 236
 
237 237
         return $prependFileContents;
238 238
     }
239 239
 
240 240
     protected function getMarkdownToAppend(): string
241 241
     {
242
-        $appendFile = $this->sourceOutputPath.'/source/append.md';
242
+        $appendFile = $this->sourceOutputPath . '/source/append.md';
243 243
         $appendFileContents = file_exists($appendFile)
244
-            ? "\n".file_get_contents($appendFile) : '';
244
+            ? "\n" . file_get_contents($appendFile) : '';
245 245
 
246 246
         return $appendFileContents;
247 247
     }
@@ -249,7 +249,7 @@  discard block
 block discarded – undo
249 249
     protected function copyAssetsFromSourceFolderToPublicFolder(): void
250 250
     {
251 251
         $publicPath = 'public/docs';
252
-        if (! is_dir($publicPath)) {
252
+        if (!is_dir($publicPath)) {
253 253
             mkdir($publicPath, 0777, true);
254 254
             mkdir("{$publicPath}/css");
255 255
             mkdir("{$publicPath}/js");
@@ -272,7 +272,7 @@  discard block
 block discarded – undo
272 272
             rename("{$this->sourceOutputPath}/index.html", "{$this->outputPath}/index.html");
273 273
         } else {
274 274
             // Move output to resources/views
275
-            if (! is_dir($this->outputPath)) {
275
+            if (!is_dir($this->outputPath)) {
276 276
                 mkdir($this->outputPath);
277 277
             }
278 278
             rename("{$this->sourceOutputPath}/index.html", "$this->outputPath/index.blade.php");
Please login to merge, or discard this patch.