Commit Graph
676 Commits
Author SHA1 Message Date
Gabriel Langer e8044dc920 [Models] Fixed wrong imported name (#993)
* Fixes 992 (class names in phpdoc where using imported names incorrectly when writing to external file).
Disabled using imported name in external file, except for the models own name.

* Added missing declare strict types
2020-07-17 08:07:09 +02:00
Markus Podar 4ffda148ce composer.json: bump branch-alias as 2.7 has already been released (#991) 2020-07-16 22:02:19 +02:00
Markus Podar 6cb0201476 Remove unnecessary version checks due to unsupported old Laravel/Lumen versions (#983)
- support for < L5.5 was dropped, so no need to check if it's >= Laravel 5.2
- for the same reason, the Lumen 5.0/5.1 check isn't necessary because only supporting Laravel 5.5 means we only support the Laravel 5.5 _components_ which means the minimum supported Lumen version is also 5.5 (per https://lumen.laravel.com/docs/master/releases#5.5.0 )
2020-06-28 22:14:44 +02:00
Markus Podar f3d841c0a3 Sort models found in file system (#982)
Ensures they're always ordered / processed independent of the
environment. `ClassMapGenerator::createMap` uses symfony/finder which
itself supports sorting but this isn't used from the `ClassMapGenerator`.

Fixes https://github.com/barryvdh/laravel-ide-helper/issues/885
2020-06-28 11:21:36 +02:00
Markus Podar 9562bf59d9 Improve readme in certain areas (#980)
* readme: sublime command has been removed

Was removed in https://github.com/barryvdh/laravel-ide-helper/pull/976
as it was already deprecated for 7 years.

* readme: old link only redirects, use the destination link directly

* readme: mention that the default _ide_helper.php name can be changed

* readme: document `meta_filename` and hint it can be written into a special subdirectory

* readme: remove hint about \Eloquent or `@mixin`, as the latter is automatically added nowadays

* readme: update how the current phpdoc looks like

* readme: document `write_model_magic_where`

* readme: document `write_model_relation_count_properties`

* readme: document `custom_db_types`

* readme: clarify installation regarding auto-discovery vs. manual

* readme: mention to avoid caching the config in dev

Inspired by https://github.com/barryvdh/laravel-ide-helper/issues/832
2020-06-28 08:57:22 +02:00
Markus Podar e2547b8596 Removed old/outdated gists from readme (#977) 2020-06-27 17:56:54 +02:00
Markus Podar eaf4a00eae composer: reduce constraints for testbench (#975)
We only support L5.5 which is satisfied by testbench 3.5 already
2020-06-26 07:08:14 +02:00
Markus Podar e1940c25bc Remove deprecated sublime option (#976)
It has been marked as deprecated for 7 years (!) and the option isn't
used in the current code, i.e it does nothing.
2020-06-26 07:05:20 +02:00
Markus Podar 0531a58d24 tests: convert recently created tests to snapshots (#973)
They were created slightly before the snapshot PR was merged.
2020-06-24 15:29:19 +02:00
07d45d2d7a switch tests to snapshot assertions (#958)
* install spatie/phpunit-snapshot-assertions

* switch GenerateBasicPhpdocFinal test to snapshot assertion

* use v3 of spatie/phpunit-snapshot-assertions to be PHP7.2 compatible

* add txt snapshot driver

* fix EloquentCommandTest

* replace all heredocs by snapshots

* make test compatible with old/deprecated versions

* Update composer.json

* normalize composer.json

* fix merge conflict

* Allow older snapshot versions

* normalize composer.json

Co-authored-by: Barry vd. Heuvel <[email protected]>
Co-authored-by: barryvdh <[email protected]>
2020-06-24 11:11:35 +02:00
Luka Schäfer cca99b6d25 Make writing relation count properties optional (#969)
* Make writing relation count properties optional

* Clean up description

* Add test for write_model_magic_where=false

* Add test for write_model_relation_count_properties=false
2020-06-23 22:27:43 +02:00
Markus Podar 6ec4f7baf9 gha: drop non-supported Laravel versions and simplify matrix (#970)
- also drop dedicated testbench version, composer can figure it out itself

https://laravel.com/docs/7.x/releases#support-policy

Only 5.5 receives security fixes until 2020-08-30,
everything else < 6 isn't supported anymore.
Therefore I dropped all versions not officially
supported.

I also find the change in the matrix more readable without having to
mentally parse a set of a lot "includes",
I think this clarifies the intent better.

This also results in more jobs are more (correctly allowed) variations are now covered.
2020-06-23 17:39:14 +02:00
Barry vd. Heuvel 7298d6e965 Update run-tests.yml 2020-06-23 09:27:46 +02:00
Barry vd. Heuvel dbd98fdca3 Cache Composer 2020-06-23 09:20:24 +02:00
feekandBarry vd. Heuvel 3e02746778 chore: use composer scripts in grumphp (#965)
Co-authored-by: Barry vd. Heuvel <[email protected]>
2020-06-23 09:05:37 +02:00
Markus Podar 3197aab841 gha: add timeouts (#967) 2020-06-23 08:25:12 +02:00
Markus Podar bbf329b995 readme: add gha badge for tests (#966) 2020-06-23 08:13:16 +02:00
feek 4aa919c09f chore: psr12 (#964) 2020-06-23 06:59:56 +02:00
feek 4cd3362dfd [Chore] Composer 2 support (#963)
* chore: update grumphp

* chore: allow composer 2 packages
2020-06-23 06:59:04 +02:00
Markus PodarandBarry vd. Heuvel ea17a4076b Small improvements for github actions (#961)
* Remove travis leftovers

* gha: remove --no-interaction

* gha: use separate job for style check and use composer scripts

* gha: give workflow a nice name

* gha: remove packages we don't need, reduce workflow runtime

Co-authored-by: Barry vd. Heuvel <[email protected]>
2020-06-22 21:07:19 +02:00
Barry vd. Heuvel 5402b5ebfa Update run-tests.yml 2020-06-22 20:58:32 +02:00
feekandmr-feek 545298c44d [Chore] Introduce psalm (#962)
* chore: introduce psalm

* chore: remove dead code

* chore: run psalm workflow

* chore: run psalm in grumphp

* normalize composer.json

* chore: analyse --> analyze

* chore: just remove psalm when running tests instead of worrying about dependency mismatch hell

Co-authored-by: mr-feek <[email protected]>
2020-06-22 20:28:59 +02:00
Barry vd. HeuvelandMarkus Podar 3381123e71 Use Github Actions (#960)
* Use Github Actions

* Fix PHP versions

* Update run-tests.yml

* Update run-tests.yml

* Delete .travis.yml

* Update run-tests.yml

* Update composer.json

* Update run-tests.yml

* Update .github/workflows/run-tests.yml

Co-authored-by: Markus Podar <[email protected]>

* Update .github/workflows/run-tests.yml

Co-authored-by: Markus Podar <[email protected]>

Co-authored-by: Markus Podar <[email protected]>
2020-06-22 17:46:01 +02:00
Tom Witkowski 94948e4f2c composer normalize (#959)
* add gh action

* normalize composer.json
2020-06-22 17:32:22 +02:00
Tom Witkowski b9293420c3 add phpunit tests (#957) 2020-06-22 13:32:19 +02:00
Gabriel Langer 6f20800eef [Model] Simplify full namespaces for already included resources (#954)
* Fixed #565 by using the imported class name if present. Fixed a bug where cast type was not properly added when the return type was found via phpdoc.

* Fixed errors with phpdocumentor/type-resolver:1.0
2020-06-20 12:53:36 +02:00
Tom Witkowski 7203ebee24 Fix inline doc-block for final models (#955)
* fix final model classes doc-block generation

* add phpunit tests
2020-06-20 08:22:07 +02:00
fgibaux d35ea6e1d4 Decimal columns as string in Models (#948)
* Decimal columns as string in Models

To follow Eloquent casts

* update tests for decimals
2020-06-09 20:54:26 +02:00
ZhangWei f3e48cbcce Test auth is binded before detect Auth driver (#946)
* Test `auth` is binded before detect Auth driver

some project may not need Auth service provider

* fix codingstyle
2020-06-06 22:28:00 +02:00
Hamid Alaei Varnosfaderani 7515cd206d add optional (#932) 2020-05-05 10:27:37 +02:00
Benedikt Franke 8e34870e2a Clean up the README.md (#931) 2020-05-03 09:50:21 +02:00
Markus Podar b7197aec89 Document that model_locations/dir now supports glob (#925)
Feature was added with https://github.com/barryvdh/laravel-ide-helper/pull/921
2020-04-22 21:20:09 +02:00
Daniel Mason 378adeb1f5 Add static return type to builder methods (#924)
* Add static return type to builder methods

* formatting

* add eloquent builder test

* change to use assertSame
2020-04-22 21:18:54 +02:00
Barry vd. Heuvel 5f677edc14 Private->protected v2.7.0 2020-04-22 11:57:26 +02:00
Barry vd. Heuvel 1b611d7f80 Check if CastsAttributes exists 2020-04-22 11:55:33 +02:00
Krot Eval a233d5bd5a Ability to use patterns for model_locations (#921)
Example: app/Services/*/Models
2020-04-22 06:33:49 +02:00
belamov cfa9a81d65 Added support for Laravel 7 custom casts (#913)
* added support for laravel 7 custom casts

* refactored tests; added test cases

* added test case

* resolved method dublication
2020-04-22 06:32:40 +02:00
mzglinskiandMichał Zgliński dcf76c1a81 Generate noinspections PHPStorm tags (#905)
* Generate noinspections PHPStorm tags

* Add comments about PHPStorm noinspection tags

* Fix line to long warnings

* Add tests for PHPStorm noinspection

Co-authored-by: Michał Zgliński <[email protected]>
2020-04-21 21:36:27 +02:00
Barry vd. Heuvel bef8158d02 Merge pull request #901 from loilo/fix-default-param-values
Prevent generation of invalid code for certain parameter default values
2020-04-21 21:35:11 +02:00
Barry vd. Heuvel 8381a2ebdd Merge pull request #906 from mfn/mfn-return-reflection
Infer return type from reflection if no phpdoc given
2020-04-21 21:16:27 +02:00
Barry vd. Heuvel 6bab45b8c2 Merge pull request #920 from mr-feek/include-interfaces
if a model implements interfaces, include them in the stub
2020-04-21 21:15:37 +02:00
Feek 2617352869 if a model implements interfaces, include them in the stub 2020-04-21 02:32:02 -07:00
Barry vd. Heuvel ce275a9bf2 Merge pull request #919 from mr-feek/unregister-custom-autoloader
fix: unregister meta command custom autoloader when it is no longer needed
2020-04-20 18:22:59 +02:00
Feek b7b835bf09 fix: unregister meta command custom autoloader when it is no longer needed. closes #915 2020-04-19 18:05:23 -07:00
Barry vd. Heuvel b0481aef33 Merge pull request #908 from goodjack/patch-1
Update the version in the comment
2020-04-19 07:51:11 +02:00
Barry vd. Heuvel f80887914b Update helper.php 2020-04-19 07:51:00 +02:00
Markus Podar f4ae4c4b45 Remove unnecessary and wrong definition of SoftDelete methods (#918)
These two methods are already regular methods on the trait, there's no
need to add them and additionally they're not static, so their
definition was changed for the worse.

The other methods are magic so it's fine to keep them.

Fixes https://github.com/barryvdh/laravel-ide-helper/issues/917
2020-04-19 07:49:54 +02:00
Daniel MasonandMarkus Podar 6a27c5df68 Add custom collection support for get and all methods (#903)
* Add custom collection support for get and all methods

* Only add get and all when using custom collection

* Use static instead of class name

* Add missing custom collection test with relation

* Use class reference over string

Co-Authored-By: Markus Podar <[email protected]>

* Fix when using class reference

Co-authored-by: Markus Podar <[email protected]>
2020-04-19 07:49:23 +02:00
小克 7be6afbe5f Update the version in the comment 2020-04-06 18:52:32 +08:00
Markus Podar b72689755b Infer return type from reflection if no phpdoc given 2020-04-01 22:44:26 +02:00