Skip to content

Commit 7e5801e

Browse files
committed
Renamed the acceptance and rejection bucket classes to expose their intent, bumped the version to 0.2
1 parent 3123b62 commit 7e5801e

17 files changed

+361
-303
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
},
2626
"extra": {
2727
"branch-alias": {
28-
"dev-master": "0.1.x-dev"
28+
"dev-master": "0.2.x-dev"
2929
}
3030
},
3131
"require-dev": {

composer.lock

Lines changed: 187 additions & 195 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

spec/AcceptanceAppendableResultBucketSpec.php renamed to spec/AppendableIteratorAcceptanceResultBucketSpec.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22

33
namespace spec\Kiboko\Component\Bucket;
44

5-
use Kiboko\Component\Bucket\AcceptanceAppendableResultBucket;
5+
use Kiboko\Component\Bucket\AppendableIteratorAcceptanceResultBucket;
66
use Kiboko\Contract\Bucket\AcceptanceResultBucketInterface;
77
use PhpSpec\ObjectBehavior;
88
use Prophecy\Argument;
99

10-
class AcceptanceAppendableResultBucketSpec extends ObjectBehavior
10+
class AppendableIteratorAcceptanceResultBucketSpec extends ObjectBehavior
1111
{
1212
function it_is_initializable()
1313
{
14-
$this->shouldHaveType(AcceptanceAppendableResultBucket::class);
14+
$this->shouldHaveType(AppendableIteratorAcceptanceResultBucket::class);
1515
$this->shouldBeAnInstanceOf(AcceptanceResultBucketInterface::class);
1616
}
1717

spec/RejectionAppendableResultBucketSpec.php renamed to spec/AppendableIteratorRejectionResultBucketSpec.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22

33
namespace spec\Kiboko\Component\Bucket;
44

5-
use Kiboko\Component\Bucket\RejectionAppendableResultBucket;
5+
use Kiboko\Component\Bucket\AppendableIteratorRejectionResultBucket;
66
use Kiboko\Contract\Bucket\RejectionResultBucketInterface;
77
use PhpSpec\ObjectBehavior;
88
use Prophecy\Argument;
99

10-
class RejectionAppendableResultBucketSpec extends ObjectBehavior
10+
class AppendableIteratorRejectionResultBucketSpec extends ObjectBehavior
1111
{
1212
function it_is_initializable()
1313
{
14-
$this->shouldHaveType(RejectionAppendableResultBucket::class);
14+
$this->shouldHaveType(AppendableIteratorRejectionResultBucket::class);
1515
$this->shouldBeAnInstanceOf(RejectionResultBucketInterface::class);
1616
}
1717

spec/AcceptanceIteratorResultBucketSpec.php renamed to spec/IteratorAcceptanceResultBucketSpec.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
namespace spec\Kiboko\Component\Bucket;
44

5-
use Kiboko\Component\Bucket\AcceptanceIteratorResultBucket;
5+
use Kiboko\Component\Bucket\IteratorAcceptanceResultBucket;
66
use Kiboko\Contract\Bucket\AcceptanceResultBucketInterface;
77
use PhpSpec\ObjectBehavior;
88
use Prophecy\Argument;
99

10-
class AcceptanceIteratorResultBucketSpec extends ObjectBehavior
10+
class IteratorAcceptanceResultBucketSpec extends ObjectBehavior
1111
{
1212
function it_is_initializable()
1313
{
1414
$this->beConstructedWith(new \EmptyIterator());
1515

16-
$this->shouldHaveType(AcceptanceIteratorResultBucket::class);
16+
$this->shouldHaveType(IteratorAcceptanceResultBucket::class);
1717
$this->shouldBeAnInstanceOf(AcceptanceResultBucketInterface::class);
1818
}
1919

spec/RejectionIteratorResultBucketSpec.php renamed to spec/IteratorRejectionResultBucketSpec.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
namespace spec\Kiboko\Component\Bucket;
44

5-
use Kiboko\Component\Bucket\RejectionIteratorResultBucket;
5+
use Kiboko\Component\Bucket\IteratorRejectionResultBucket;
66
use Kiboko\Contract\Bucket\RejectionResultBucketInterface;
77
use PhpSpec\ObjectBehavior;
88
use Prophecy\Argument;
99

10-
class RejectionIteratorResultBucketSpec extends ObjectBehavior
10+
class IteratorRejectionResultBucketSpec extends ObjectBehavior
1111
{
1212
function it_is_initializable()
1313
{
1414
$this->beConstructedWith(new \EmptyIterator());
1515

16-
$this->shouldHaveType(RejectionIteratorResultBucket::class);
16+
$this->shouldHaveType(IteratorRejectionResultBucket::class);
1717
$this->shouldBeAnInstanceOf(RejectionResultBucketInterface::class);
1818
}
1919

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,12 @@
11
<?php
22

3-
namespace Kiboko\Component\Bucket;
4-
5-
use Kiboko\Contract\Bucket\AcceptanceResultBucketInterface;
3+
declare(strict_types=1);
64

7-
final class AcceptanceAppendableResultBucket implements AcceptanceResultBucketInterface
8-
{
9-
/** @var \AppendIterator */
10-
private $iterator;
11-
12-
public function __construct(\Iterator ...$iterators)
13-
{
14-
$this->iterator = new \AppendIterator();
15-
foreach ($iterators as $iterator) {
16-
$this->iterator->append($iterator);
17-
}
18-
}
5+
namespace Kiboko\Component\Bucket;
196

20-
public function append(\Iterator ...$iterators)
21-
{
22-
foreach ($iterators as $iterator) {
23-
$this->iterator->append($iterator);
24-
}
25-
}
7+
trigger_deprecation('php-etl/bucket', '0.2', 'The "%s" class is deprecated, use "%s" instead.', 'Kiboko\\Component\\Bucket\\AcceptanceAppendableResultBucket', AppendableIteratorAcceptanceResultBucket::class);
268

27-
public function walkAcceptance(): iterable
28-
{
29-
return $this->iterator;
30-
}
31-
}
9+
/**
10+
* @deprecated since Satellite 0.2, use Kiboko\Component\Bucket\AppendableIteratorAcceptanceResultBucket instead.
11+
*/
12+
class_alias(AppendableIteratorAcceptanceResultBucket::class, 'Kiboko\\Component\\Bucket\\AcceptanceAppendableResultBucket');
Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
11
<?php
22

3-
namespace Kiboko\Component\Bucket;
4-
5-
use Kiboko\Contract\Bucket\AcceptanceResultBucketInterface;
3+
declare(strict_types=1);
64

7-
final class AcceptanceIteratorResultBucket implements AcceptanceResultBucketInterface
8-
{
9-
/** @var \Iterator */
10-
private $iterator;
5+
namespace Kiboko\Component\Bucket;
116

12-
/**
13-
* @param \Iterator $iterator
14-
*/
15-
public function __construct(\Iterator $iterator)
16-
{
17-
$this->iterator = $iterator;
18-
}
7+
trigger_deprecation('php-etl/bucket', '0.2', 'The "%s" class is deprecated, use "%s" instead.', 'Kiboko\\Component\\Bucket\\AcceptanceIteratorResultBucket', IteratorAcceptanceResultBucket::class);
198

20-
public function walkAcceptance(): iterable
21-
{
22-
return $this->iterator;
23-
}
24-
}
9+
/**
10+
* @deprecated since Satellite 0.2, use Kiboko\Component\Bucket\IteratorAcceptanceResultBucket instead.
11+
*/
12+
class_alias(IteratorAcceptanceResultBucket::class, 'Kiboko\\Component\\Bucket\\AcceptanceIteratorResultBucket');

src/AcceptanceResultBucket.php

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,27 @@
66

77
final class AcceptanceResultBucket implements AcceptanceResultBucketInterface
88
{
9-
/** @var array<int, mixed> */
10-
private $values;
9+
/** @var array<mixed> */
10+
private iterable $values;
1111

1212
/**
13-
* @param array<int, mixed> $values
13+
* @param array<mixed> $values
1414
*/
1515
public function __construct(...$values)
1616
{
1717
$this->values = $values;
1818
}
1919

20+
/**
21+
* @param array<mixed> $values
22+
*/
23+
public function accept(...$values): self
24+
{
25+
array_push($this->values, ...$values);
26+
27+
return $this;
28+
}
29+
2030
public function walkAcceptance(): iterable
2131
{
2232
return new \ArrayIterator($this->values);
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace Kiboko\Component\Bucket;
4+
5+
use Kiboko\Contract\Bucket\AcceptanceResultBucketInterface;
6+
7+
final class AppendableIteratorAcceptanceResultBucket implements AcceptanceResultBucketInterface
8+
{
9+
private iterable $iterator;
10+
11+
public function __construct(\Iterator ...$iterators)
12+
{
13+
$this->iterator = new \AppendIterator();
14+
foreach ($iterators as $iterator) {
15+
$this->iterator->append($iterator);
16+
}
17+
}
18+
19+
public function append(\Iterator ...$iterators)
20+
{
21+
foreach ($iterators as $iterator) {
22+
$this->iterator->append($iterator);
23+
}
24+
}
25+
26+
public function walkAcceptance(): iterable
27+
{
28+
return $this->iterator;
29+
}
30+
}

0 commit comments

Comments
 (0)