Skip to content
Snippets Groups Projects
Verified Commit 3536596a authored by Jiří Pudil's avatar Jiří Pudil
Browse files

generate promoted properties

parent 2ec5c1e2
No related branches found
No related tags found
1 merge request!14update to grifart/scaffolder dev-master
Pipeline #36715 passed
......@@ -5,11 +5,10 @@ namespace Grifart\Tables\Scaffolding;
use Grifart\ClassScaffolder\Definition\ClassDefinition;
use Grifart\Tables\Row;
use Grifart\Tables\TypeMapper;
use function Grifart\ClassScaffolder\Capabilities\constructorWithPromotedProperties;
use function Grifart\ClassScaffolder\Capabilities\getters;
use function Grifart\ClassScaffolder\Capabilities\implementedInterface;
use function Grifart\ClassScaffolder\Capabilities\initializingConstructor;
use function Grifart\ClassScaffolder\Capabilities\privatizedConstructor;
use function Grifart\ClassScaffolder\Capabilities\properties;
use function Grifart\ClassScaffolder\Definition\Types\nullable;
use function Grifart\ClassScaffolder\Definition\Types\resolve;
......@@ -96,8 +95,7 @@ final class Scaffolding
$rowClass = $addTableFields(new ClassDefinition($rowClassName))
->with(
implementedInterface(Row::class),
properties(),
initializingConstructor(),
constructorWithPromotedProperties(),
privatizedConstructor(),
getters(),
new ReconstituteConstructor(),
......
......@@ -96,11 +96,6 @@ final class TableImplementation implements Capability
// Column references
// todo add - use constants? Or references to Column class?
$namespace->addUse(TableManager::class);
$classType->addProperty('tableManager')
->addComment('@var TableManager')
->setVisibility('private');
$classType->addMethod('find')
->setParameters([
(new Code\Parameter('primaryKey'))
......@@ -238,13 +233,11 @@ final class TableImplementation implements Capability
'$this->tableManager->delete($this, $primaryKey);'
);
$namespace->addUse(TableManager::class);
$classType->addMethod('__construct')
->setParameters([
(new Code\Parameter('tableManager'))->setTypeHint(TableManager::class)
])
->setBody(
'$this->tableManager = $tableManager;'
);
->addPromotedParameter('tableManager')
->setType(TableManager::class)
->setPrivate();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment