* Fix missing doc-block.
* Fixes a bug where a missing DocBlock caused errors.
* Change Option Shorthand to W
Because it is not allowed to have two char shorthands for options.
* Revert code refactoring.
* Fix copied config header.
The getMethods function gets called both in the removeDuplicateMethodsFromPhpDoc
function and in helper.php, which causes the method detection to be performed twice.
Parts of the method detection includes a check for duplicate methods, but Macro
methods for example, aren't checked for duplicates.
Instead of checking everywhere if we're not adding duplicates, I've included a
check in the getMethods call to just use the already generated methods
if they have been generated already.
Closures do not have a method name that makes sense to use in the ide_helper
file.
e.g. Illuminate\Foundation\Providers\{closure} would be the real_name instead of
just validate. So for the closure methods, we should just use the provided
methodName instead.
When a method is declared both in the phpdoc and in the class itself,
PhpStorm (2018.3) complains about duplicate function declarations, preventing
correct code hinting.
To solve this, I remove the already declared functions from the generated dockblocks.
A cast in Laravel should only affect the type, but not the database intrinsics whether a column accepts `null` or not.
As an example, consider this table (Postgres syntax):
```sql
CREATE TABLE foo (
some_column jsonb
);
```
This will be generated as: `@property string|null $some_column`
When providing a the following casts on the model:
```php
protected $casts = [
'some_column' => 'array',
];
```
then the generated property changes to: `@property array $some_column`
However the DB still accepts `null`, but this can't be expressed via the casts.
This change will make the null "sticky" and generate: `@property array|null $some_column`
When running php artisan ide-helper:models below message was presented:
"Do you want to overwrite the existing model files? Choose no to write to _ide_helper_models.php instead? (Yes/No): (yes/no) [no]:"
This commit changes message to:
"Do you want to overwrite the existing model files? Choose no to write to _ide_helper_models.php instead? (yes/no) [no]:"
* Add an eloquent command for adding the `@mixin \Eloquent` to the Illuminate\Database\Eloquent\Model
* spacing updates...
* multi-line function call syntax
* Write helper mixin to Eloquent/Model after helper created
* Cleanup into helper - similar to Generator
* syntax cleanup