Skip to content

Commit 6e7c50f

Browse files
committed
Added support for Laravel < 5.2
1 parent 589014e commit 6e7c50f

File tree

2 files changed

+40
-3
lines changed

2 files changed

+40
-3
lines changed

src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,15 @@ public function handle()
6262
}
6363

6464
if ($actAs !== null) {
65-
$userModel = config('auth.providers.users.model');
66-
$user = $userModel::find($actAs);
67-
$this->laravel['auth']->guard()->setUser($user);
65+
if (version_compare($this->laravel->version(),'5.2.0', '<')) {
66+
$userModel = config('auth.model');
67+
$user = $userModel::find($actAs);
68+
$this->laravel['auth']->setUser($user);
69+
} else {
70+
$userModel = config('auth.providers.users.model');
71+
$user = $userModel::find($actAs);
72+
$this->laravel['auth']->guard()->setUser($user);
73+
}
6874
}
6975

7076
$routes = Route::getRoutes();

tests/ApiDocGeneratorTest.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?php
22

3+
use Illuminate\Foundation\Http\FormRequest;
34
use Illuminate\Routing\Controller;
45
use Illuminate\Routing\Route;
56
use Mpociot\ApiDoc\ApiDocGenerator;
@@ -55,6 +56,21 @@ public function testCanParseRouteMethods()
5556
$this->assertEquals(['DELETE'], $parsed['methods']);
5657
}
5758

59+
public function testCanParseFormRequestRules()
60+
{
61+
\Illuminate\Support\Facades\Route::post('/post', 'TestController@parseFormRequestRules');
62+
$route = new Route(['POST'], '/post', ['uses' => 'TestController@parseFormRequestRules']);
63+
$parsed = $this->generator->processRoute($route);
64+
$parameters = $parsed['parameters'];
65+
$this->assertArrayHasKey('required_attribute', $parameters);
66+
67+
$required_attribute = $parameters['required_attribute'];
68+
69+
$this->assertTrue( $required_attribute['required'] );
70+
$this->assertEquals( 'string', $required_attribute['type'] );
71+
$this->assertCount( 0, $required_attribute['description'] );
72+
}
73+
5874
}
5975

6076
class TestController extends Controller
@@ -76,4 +92,19 @@ public function parseMethodDescription()
7692
return '';
7793
}
7894

95+
public function parseFormRequestRules(TestRequest $request)
96+
{
97+
return '';
98+
}
99+
100+
}
101+
102+
class TestRequest extends FormRequest
103+
{
104+
public function rules()
105+
{
106+
return [
107+
'required_attribute' => 'required'
108+
];
109+
}
79110
}

0 commit comments

Comments
 (0)