Browse Source

Applied fixes from StyleCI

Marcel Pociot 9 years ago
parent
commit
87a0cbe021

+ 42 - 31
src/Mpociot/ApiDoc/ApiDocGenerator.php

@@ -14,9 +14,9 @@ use ReflectionClass;
 
 class ApiDocGenerator
 {
-
     /**
      * @param Route $route
+     *
      * @return array
      */
     public function processRoute(Route $route)
@@ -30,7 +30,7 @@ class ApiDocGenerator
             'methods' => $route->getMethods(),
             'uri' => $route->getUri(),
             'parameters' => [],
-            'response' => ($response->headers->get('Content-Type') === 'application/json') ? json_encode(json_decode($response->getContent()), JSON_PRETTY_PRINT) : $response->getContent()
+            'response' => ($response->headers->get('Content-Type') === 'application/json') ? json_encode(json_decode($response->getContent()), JSON_PRETTY_PRINT) : $response->getContent(),
         ];
 
         $validator = Validator::make([], $this->getRouteRules($routeAction['uses']));
@@ -40,7 +40,7 @@ class ApiDocGenerator
                 'type' => 'string',
                 'default' => '',
                 'value' => '',
-                'description' => []
+                'description' => [],
             ];
             foreach ($rules as $rule) {
                 $this->parseRule($rule, $attributeData);
@@ -53,17 +53,20 @@ class ApiDocGenerator
 
     /**
      * @param \Illuminate\Routing\Route $route
+     *
      * @return \Illuminate\Http\Response
      */
     private function getRouteResponse(Route $route)
     {
         $methods = $route->getMethods();
         $response = $this->callRoute(array_shift($methods), $route->getUri());
+
         return $response;
     }
 
     /**
      * @param $route
+     *
      * @return string
      */
     private function getRouteDescription($route)
@@ -74,15 +77,16 @@ class ApiDocGenerator
 
         $comment = $reflectionMethod->getDocComment();
         $phpdoc = new DocBlock($comment);
+
         return [
             'short' => $phpdoc->getShortDescription(),
-            'long' => $phpdoc->getLongDescription()->getContents()
+            'long' => $phpdoc->getLongDescription()->getContents(),
         ];
     }
 
-
     /**
      * @param $route
+     *
      * @return array
      */
     private function getRouteRules($route)
@@ -93,7 +97,7 @@ class ApiDocGenerator
 
         foreach ($reflectionMethod->getParameters() as $parameter) {
             $parameterType = $parameter->getClass();
-            if (!is_null($parameterType) && class_exists($parameterType->name)) {
+            if (! is_null($parameterType) && class_exists($parameterType->name)) {
                 $className = $parameterType->name;
                 $parameterReflection = new $className;
                 if ($parameterReflection instanceof FormRequest) {
@@ -113,14 +117,16 @@ class ApiDocGenerator
      * @param $arr
      * @param $first
      * @param $last
+     *
      * @return string
      */
     protected function fancyImplode($arr, $first, $last)
     {
         $arr = array_map(function ($value) {
-            return '`' . $value . '`';
+            return '`'.$value.'`';
         }, $arr);
         array_push($arr, implode($last, array_splice($arr, -2)));
+
         return implode($first, $arr);
     }
 
@@ -147,7 +153,7 @@ class ApiDocGenerator
                 break;
             case 'after':
                 $attributeData['type'] = 'date';
-                $attributeData['description'][] = 'Must be a date after: `' . date(DATE_RFC850, strtotime($parameters[0])) . '`';
+                $attributeData['description'][] = 'Must be a date after: `'.date(DATE_RFC850, strtotime($parameters[0])).'`';
                 $attributeData['value'] = date(DATE_RFC850, strtotime('+1 day', strtotime($parameters[0])));
                 break;
             case 'alpha':
@@ -165,40 +171,40 @@ class ApiDocGenerator
                 $attributeData['value'] = $faker->randomElement($parameters);
                 break;
             case 'not_in':
-                $attributeData['description'][] = 'Not in: ' . $this->fancyImplode($parameters, ', ', ' or ');
+                $attributeData['description'][] = 'Not in: '.$this->fancyImplode($parameters, ', ', ' or ');
                 $attributeData['value'] = $faker->word;
                 break;
             case 'min':
-                $attributeData['description'][] = 'Minimum: `' . $parameters[0] . '`';
+                $attributeData['description'][] = 'Minimum: `'.$parameters[0].'`';
                 break;
             case 'max':
-                $attributeData['description'][] = 'Maximum: `' . $parameters[0] . '`';
+                $attributeData['description'][] = 'Maximum: `'.$parameters[0].'`';
                 break;
             case 'between':
                 $attributeData['type'] = 'numeric';
-                $attributeData['description'][] = 'Between: `' . $parameters[0] . '` and `' . $parameters[1] . '`';
+                $attributeData['description'][] = 'Between: `'.$parameters[0].'` and `'.$parameters[1].'`';
                 $attributeData['value'] = $faker->numberBetween($parameters[0], $parameters[1]);
                 break;
             case 'before':
                 $attributeData['type'] = 'date';
-                $attributeData['description'][] = 'Must be a date preceding: `' . date(DATE_RFC850, strtotime($parameters[0])) . '`';
+                $attributeData['description'][] = 'Must be a date preceding: `'.date(DATE_RFC850, strtotime($parameters[0])).'`';
                 $attributeData['value'] = date(DATE_RFC850, strtotime('-1 day', strtotime($parameters[0])));
                 break;
             case 'date_format':
                 $attributeData['type'] = 'date';
-                $attributeData['description'][] = 'Date format: `' . $parameters[0] . '`';
+                $attributeData['description'][] = 'Date format: `'.$parameters[0].'`';
                 break;
             case 'different':
-                $attributeData['description'][] = 'Must have a different value than parameter: `' . $parameters[0] . '`';
+                $attributeData['description'][] = 'Must have a different value than parameter: `'.$parameters[0].'`';
                 break;
             case 'digits':
                 $attributeData['type'] = 'numeric';
-                $attributeData['description'][] = 'Must have an exact length of `' . $parameters[0] . '`';
+                $attributeData['description'][] = 'Must have an exact length of `'.$parameters[0].'`';
                 $attributeData['value'] = $faker->randomNumber($parameters[0], true);
                 break;
             case 'digits_between':
                 $attributeData['type'] = 'numeric';
-                $attributeData['description'][] = 'Must have a length between `' . $parameters[0] . '` and `' . $parameters[1] . '`';
+                $attributeData['description'][] = 'Must have a length between `'.$parameters[0].'` and `'.$parameters[1].'`';
                 break;
             case 'image':
                 $attributeData['type'] = 'image';
@@ -211,38 +217,38 @@ class ApiDocGenerator
                 break;
             case 'mimetypes':
             case 'mimes':
-                $attributeData['description'][] = 'Allowed mime types: ' . $this->fancyImplode($parameters, ', ', ' or ');
+                $attributeData['description'][] = 'Allowed mime types: '.$this->fancyImplode($parameters, ', ', ' or ');
                 break;
             case 'required_if':
-                $attributeData['description'][] = 'Required if `' . $parameters[0] . '` is `' . $parameters[1] . '`';
+                $attributeData['description'][] = 'Required if `'.$parameters[0].'` is `'.$parameters[1].'`';
                 break;
             case 'required_unless':
-                $attributeData['description'][] = 'Required unless `' . $parameters[0] . '` is `' . $parameters[1] . '`';
+                $attributeData['description'][] = 'Required unless `'.$parameters[0].'` is `'.$parameters[1].'`';
                 break;
             case 'required_with':
-                $attributeData['description'][] = 'Required if the parameters ' . $this->fancyImplode($parameters, ', ', ' or ') . ' are present.';
+                $attributeData['description'][] = 'Required if the parameters '.$this->fancyImplode($parameters, ', ', ' or ').' are present.';
                 break;
             case 'required_with_all':
-                $attributeData['description'][] = 'Required if the parameters ' . $this->fancyImplode($parameters, ', ', ' and ') . ' are present.';
+                $attributeData['description'][] = 'Required if the parameters '.$this->fancyImplode($parameters, ', ', ' and ').' are present.';
                 break;
             case 'required_without':
-                $attributeData['description'][] = 'Required if the parameters ' . $this->fancyImplode($parameters, ', ', ' or ') . ' are not present.';
+                $attributeData['description'][] = 'Required if the parameters '.$this->fancyImplode($parameters, ', ', ' or ').' are not present.';
                 break;
             case 'required_without_all':
-                $attributeData['description'][] = 'Required if the parameters ' . $this->fancyImplode($parameters, ', ', ' and ') . ' are not present.';
+                $attributeData['description'][] = 'Required if the parameters '.$this->fancyImplode($parameters, ', ', ' and ').' are not present.';
                 break;
             case 'same':
-                $attributeData['description'][] = 'Must be the same as `' . $parameters[0] . '`';
+                $attributeData['description'][] = 'Must be the same as `'.$parameters[0].'`';
                 break;
             case 'size':
-                $attributeData['description'][] = 'Must have the size of `' . $parameters[0] . '`';
+                $attributeData['description'][] = 'Must have the size of `'.$parameters[0].'`';
                 break;
             case 'timezone':
                 $attributeData['description'][] = 'Must be a valid timezone identifier';
                 $attributeData['value'] = $faker->timezone;
                 break;
             case 'exists':
-                $attributeData['description'][] = 'Valid ' . Str::singular($parameters[0]) . ' ' . $parameters[1];
+                $attributeData['description'][] = 'Valid '.Str::singular($parameters[0]).' '.$parameters[1];
                 break;
             case 'active_url':
                 $attributeData['type'] = 'url';
@@ -250,7 +256,7 @@ class ApiDocGenerator
                 break;
             case 'regex':
                 $attributeData['type'] = 'string';
-                $attributeData['description'][] = 'Must match this regular expression: `' . $parameters[0] . '`';
+                $attributeData['description'][] = 'Must match this regular expression: `'.$parameters[0].'`';
                 break;
             case 'boolean':
                 $attributeData['value'] = true;
@@ -305,6 +311,7 @@ class ApiDocGenerator
      * @param  array $files
      * @param  array $server
      * @param  string $content
+     *
      * @return \Illuminate\Http\Response
      */
     public function callRoute($method, $uri, $parameters = [], $cookies = [], $files = [], $server = [], $content = null)
@@ -333,6 +340,7 @@ class ApiDocGenerator
      * Transform headers array to array of $_SERVER vars with HTTP_* format.
      *
      * @param  array $headers
+     *
      * @return array
      */
     protected function transformHeadersToServerVars(array $headers)
@@ -343,8 +351,8 @@ class ApiDocGenerator
         foreach ($headers as $name => $value) {
             $name = strtr(strtoupper($name), '-', '_');
 
-            if (!starts_with($name, $prefix) && $name != 'CONTENT_TYPE') {
-                $name = $prefix . $name;
+            if (! starts_with($name, $prefix) && $name != 'CONTENT_TYPE') {
+                $name = $prefix.$name;
             }
 
             $server[$name] = $value;
@@ -357,6 +365,7 @@ class ApiDocGenerator
      * Parse a string based rule.
      *
      * @param  string $rules
+     *
      * @return array
      */
     protected function parseStringRule($rules)
@@ -380,6 +389,7 @@ class ApiDocGenerator
      *
      * @param  string $rule
      * @param  string $parameter
+     *
      * @return array
      */
     protected function parseParameters($rule, $parameter)
@@ -395,6 +405,7 @@ class ApiDocGenerator
      * Normalizes a rule so that we can accept short types.
      *
      * @param  string $rule
+     *
      * @return string
      */
     protected function normalizeRule($rule)
@@ -408,4 +419,4 @@ class ApiDocGenerator
                 return $rule;
         }
     }
-}
+}

+ 1 - 3
src/Mpociot/ApiDoc/ApiDocGeneratorServiceProvider.php

@@ -8,7 +8,6 @@ use Mpociot\ApiDoc\Commands\UpdateDocumentation;
 
 class ApiDocGeneratorServiceProvider extends ServiceProvider
 {
-
     /**
      * Bootstrap the application events.
      *
@@ -20,7 +19,7 @@ class ApiDocGeneratorServiceProvider extends ServiceProvider
     }
 
     /**
-     * Register the API doc commands
+     * Register the API doc commands.
      */
     public function register()
     {
@@ -36,5 +35,4 @@ class ApiDocGeneratorServiceProvider extends ServiceProvider
             'apidoc.update',
         ]);
     }
-
 }

+ 9 - 12
src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php

@@ -6,12 +6,9 @@ use Illuminate\Console\Command;
 use Illuminate\Support\Facades\Route;
 use Mpociot\ApiDoc\ApiDocGenerator;
 use Mpociot\Documentarian\Documentarian;
-use phpDocumentor\Reflection\DocBlock;
-use Symfony\Component\Process\Process;
 
 class GenerateDocumentation extends Command
 {
-
     /**
      * The name and signature of the console command.
      *
@@ -53,13 +50,14 @@ class GenerateDocumentation extends Command
         $routePrefix = $this->option('routePrefix');
         $actAs = $this->option('actAsUserId');
 
-        if ($routePrefix === null && !count($allowedRoutes)) {
+        if ($routePrefix === null && ! count($allowedRoutes)) {
             $this->error('You must provide either a route prefix or a route to generate the documentation.');
+
             return false;
         }
 
         if ($actAs !== null) {
-            if (version_compare($this->laravel->version(),'5.2.0', '<')) {
+            if (version_compare($this->laravel->version(), '5.2.0', '<')) {
                 $userModel = config('auth.model');
                 $user = $userModel::find($actAs);
                 $this->laravel['auth']->setUser($user);
@@ -72,12 +70,12 @@ class GenerateDocumentation extends Command
 
         $routes = Route::getRoutes();
 
-        /** @var \Illuminate\Routing\Route $route */
+        /* @var \Illuminate\Routing\Route $route */
         $parsedRoutes = [];
         foreach ($routes as $route) {
             if (in_array($route->getName(), $allowedRoutes) || str_is($routePrefix, $route->getUri())) {
                 $parsedRoutes[] = $generator->processRoute($route);
-                $this->info('Processed route: ' . $route->getUri());
+                $this->info('Processed route: '.$route->getUri());
             }
         }
 
@@ -95,19 +93,18 @@ class GenerateDocumentation extends Command
 
         $markdown = view('apidoc::documentarian')->with('parsedRoutes', $parsedRoutes);
 
-        if (!is_dir($outputPath)) {
+        if (! is_dir($outputPath)) {
             $documentarian->create($outputPath);
         }
 
-        file_put_contents($outputPath . DIRECTORY_SEPARATOR . 'source' . DIRECTORY_SEPARATOR . 'index.md', $markdown);
+        file_put_contents($outputPath.DIRECTORY_SEPARATOR.'source'.DIRECTORY_SEPARATOR.'index.md', $markdown);
 
-        $this->info('Wrote index.md to: ' . $outputPath);
+        $this->info('Wrote index.md to: '.$outputPath);
 
         $this->info('Generating API HTML code');
 
         $documentarian->generate($outputPath);
 
-        $this->info('Wrote HTML documentation to: ' . $outputPath . '/public/index.html');
+        $this->info('Wrote HTML documentation to: '.$outputPath.'/public/index.html');
     }
-
 }

+ 3 - 8
src/Mpociot/ApiDoc/Commands/UpdateDocumentation.php

@@ -3,15 +3,10 @@
 namespace Mpociot\ApiDoc\Commands;
 
 use Illuminate\Console\Command;
-use Illuminate\Support\Facades\Route;
-use Mpociot\ApiDoc\ApiDocGenerator;
 use Mpociot\Documentarian\Documentarian;
-use phpDocumentor\Reflection\DocBlock;
-use Symfony\Component\Process\Process;
 
 class UpdateDocumentation extends Command
 {
-
     /**
      * The name and signature of the console command.
      *
@@ -49,15 +44,15 @@ class UpdateDocumentation extends Command
 
         $documentarian = new Documentarian();
 
-        if (!is_dir($outputPath)) {
+        if (! is_dir($outputPath)) {
             $this->error('There is no generated documentation available at '.$outputPath.'.');
+
             return false;
         }
         $this->info('Updating API HTML code');
 
         $documentarian->generate($outputPath);
 
-        $this->info('Wrote HTML documentation to: ' . $outputPath . '/public/index.html');
+        $this->info('Wrote HTML documentation to: '.$outputPath.'/public/index.html');
     }
-
 }

+ 119 - 124
tests/ApiDocGeneratorTest.php

@@ -41,7 +41,7 @@ class ApiDocGeneratorTest extends Orchestra\Testbench\TestCase
 
         $route = new Route(['GET'], '/get', ['uses' => 'TestController@parseMethodDescription']);
         $parsed = $this->generator->processRoute($route);
-        $this->assertEquals(['GET','HEAD'], $parsed['methods']);
+        $this->assertEquals(['GET', 'HEAD'], $parsed['methods']);
 
         $route = new Route(['POST'], '/post', ['uses' => 'TestController@parseMethodDescription']);
         $parsed = $this->generator->processRoute($route);
@@ -69,244 +69,240 @@ class ApiDocGeneratorTest extends Orchestra\Testbench\TestCase
         foreach ($rules as $name => $rule) {
             $attribute = $parameters[$name];
 
-            switch ($name){
+            switch ($name) {
 
                 case 'required':
-                    $this->assertTrue( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertTrue($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'accepted':
-                    $this->assertTrue( $attribute['required'] );
-                    $this->assertEquals( 'boolean', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertTrue($attribute['required']);
+                    $this->assertEquals('boolean', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'active_url':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'url', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('url', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'alpha':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Only alphabetic characters allowed', $attribute['description'][0]);
                     break;
                 case 'alpha_dash':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Allowed: alpha-numeric characters, as well as dashes and underscores.', $attribute['description'][0]);
                     break;
                 case 'alpha_num':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Only alpha-numeric characters allowed', $attribute['description'][0]);
                     break;
                 case 'array':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'array', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('array', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'between':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'numeric', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('numeric', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Between: `5` and `200`', $attribute['description'][0]);
                     break;
                 case 'before':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'date', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('date', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must be a date preceding: `Saturday, 23-Apr-16 14:31:00 UTC`', $attribute['description'][0]);
                     break;
                 case 'boolean':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'boolean', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('boolean', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'date':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'date', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('date', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'date_format':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'date', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('date', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Date format: `j.n.Y H:iP`', $attribute['description'][0]);
                     break;
                 case 'different':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must have a different value than parameter: `alpha_num`', $attribute['description'][0]);
                     break;
                 case 'digits':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'numeric', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('numeric', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must have an exact length of `2`', $attribute['description'][0]);
                     break;
                 case 'digits_between':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'numeric', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('numeric', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must have a length between `2` and `10`', $attribute['description'][0]);
                     break;
                 case 'email':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'email', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('email', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'exists':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Valid user firstname', $attribute['description'][0]);
                     break;
                 case 'image':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'image', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('image', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must be an image (jpeg, png, bmp, gif, or svg)', $attribute['description'][0]);
                     break;
                 case 'in':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('`jpeg`, `png`, `bmp`, `gif` or `svg`', $attribute['description'][0]);
                     break;
                 case 'integer':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'integer', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('integer', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'ip':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'ip', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('ip', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'json':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must be a valid JSON string.', $attribute['description'][0]);
                     break;
                 case 'max':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Maximum: `10`', $attribute['description'][0]);
                     break;
                 case 'min':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Minimum: `20`', $attribute['description'][0]);
                     break;
                 case 'mimes':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Allowed mime types: `jpeg`, `bmp` or `png`', $attribute['description'][0]);
                     break;
                 case 'not_in':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Not in: `foo` or `bar`', $attribute['description'][0]);
                     break;
                 case 'numeric':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'numeric', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('numeric', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
                 case 'regex':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must match this regular expression: `(.*)`', $attribute['description'][0]);
                     break;
                 case 'required_if':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Required if `foo` is `bar`', $attribute['description'][0]);
                     break;
                 case 'required_unless':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Required unless `foo` is `bar`', $attribute['description'][0]);
                     break;
                 case 'required_with':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Required if the parameters `foo`, `bar` or `baz` are present.', $attribute['description'][0]);
                     break;
                 case 'required_with_all':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Required if the parameters `foo`, `bar` and `baz` are present.', $attribute['description'][0]);
                     break;
                 case 'required_without':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Required if the parameters `foo`, `bar` or `baz` are not present.', $attribute['description'][0]);
                     break;
                 case 'required_without_all':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Required if the parameters `foo`, `bar` and `baz` are not present.', $attribute['description'][0]);
                     break;
                 case 'same':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must be the same as `foo`', $attribute['description'][0]);
                     break;
                 case 'size':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must have the size of `51`', $attribute['description'][0]);
                     break;
                 case 'timezone':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'string', $attribute['type'] );
-                    $this->assertCount( 1, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('string', $attribute['type']);
+                    $this->assertCount(1, $attribute['description']);
                     $this->assertEquals('Must be a valid timezone identifier', $attribute['description'][0]);
                     break;
                 case 'url':
-                    $this->assertFalse( $attribute['required'] );
-                    $this->assertEquals( 'url', $attribute['type'] );
-                    $this->assertCount( 0, $attribute['description'] );
+                    $this->assertFalse($attribute['required']);
+                    $this->assertEquals('url', $attribute['type']);
+                    $this->assertCount(0, $attribute['description']);
                     break;
 
             }
-
         }
-
     }
-
 }
 
 class TestController extends Controller
 {
-
     public function dummy()
     {
         return '';
     }
 
     /**
-     * Example title
+     * Example title.
      *
      * This will be the long description.
      * It can also be multiple lines long.
@@ -320,10 +316,9 @@ class TestController extends Controller
     {
         return '';
     }
-
 }
 
-class TestRequest extends FormRequest 
+class TestRequest extends FormRequest
 {
     public function rules()
     {
@@ -367,4 +362,4 @@ class TestRequest extends FormRequest
             'url' => 'url',
         ];
     }
-}
+}