Skip to content

Commit e9b835e

Browse files
authored
Merge pull request #37 from diogogomeswww/feature/ignore-abstract-classes
Feature - Ignore abstract classes
2 parents 620914e + eb53562 commit e9b835e

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/ModelFinder.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use PhpParser\NodeTraverser;
1212
use PhpParser\NodeVisitor\NameResolver;
1313
use PhpParser\ParserFactory;
14+
use ReflectionClass;
1415

1516
class ModelFinder
1617
{
@@ -36,7 +37,9 @@ public function getModelsInDirectory(string $directory): Collection
3637
})->map(function ($path) {
3738
return $this->getFullyQualifiedClassNameFromFile($path);
3839
})->filter(function (string $className) {
39-
return !empty($className) && is_subclass_of($className, EloquentModel::class);
40+
return !empty($className)
41+
&& is_subclass_of($className, EloquentModel::class)
42+
&& ! (new ReflectionClass($className))->isAbstract();
4043
})->diff($ignoreModels);
4144
}
4245

tests/Models/SomeAbstractClass.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
namespace BeyondCode\ErdGenerator\Tests\Models;
4+
5+
use Illuminate\Database\Eloquent\Model;
6+
7+
abstract class SomeAbstractClass extends Model
8+
{
9+
10+
}

0 commit comments

Comments
 (0)