Skip to content
Snippets Groups Projects
Commit d1041867 authored by Daniel Kurowski's avatar Daniel Kurowski
Browse files

Transformed Builders into Traversable

parent f24a965d
No related branches found
No related tags found
1 merge request!11Allow customizations on scaffolded objects
Pipeline #33948 passed
......@@ -6,7 +6,10 @@ use Grifart\ClassScaffolder\Definition\ClassDefinition;
use Grifart\ClassScaffolder\Definition\ClassDefinitionBuilder;
final class Builders
/**
* @implements \IteratorAggregate<ClassDefinition>
*/
final class Builders implements \IteratorAggregate
{
private function __construct(
private ClassDefinitionBuilder $rowClass,
......@@ -43,16 +46,11 @@ final class Builders
}
/**
* @return ClassDefinition[]
*/
public function buildAll(): array
public function getIterator(): \Traversable
{
return [
$this->rowClass->build(),
$this->modificationsClass->build(),
$this->tableClass->build(),
];
yield $this->rowClass->build();
yield $this->modificationsClass->build();
yield $this->tableClass->build();
}
}
......@@ -27,7 +27,6 @@ final class Scaffolding
* ```php
* return Scaffolding::definitionsForPgTable(...);
* ```
* @return ClassDefinition[]
*/
public static function definitionsForPgTable(
PostgresReflector $pgReflector,
......@@ -38,7 +37,7 @@ final class Scaffolding
string $modificationsClassName,
string $tableClassName,
string $primaryKeyClass
): array
): Builders
{
return self::buildersForPgTable(
$pgReflector,
......@@ -49,7 +48,7 @@ final class Scaffolding
$modificationsClassName,
$tableClassName,
$primaryKeyClass,
)->buildAll();
);
}
......@@ -58,7 +57,7 @@ final class Scaffolding
* ```php
* $builders = Scaffolding::buildersForPgTable(...);
* $builders->getRowClass()->decorate(...);
* return $builders->buildAll();
* return $builders;
* ```
*/
public static function buildersForPgTable(
......
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