Skip to content

Commit 01c2659

Browse files
authored
Allow the Batch and Chain onQueue method to accept Backed Enums (#53359)
1 parent 6720fb1 commit 01c2659

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

src/Illuminate/Bus/PendingBatch.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
use Laravel\SerializableClosure\SerializableClosure;
1313
use Throwable;
1414

15+
use function Illuminate\Support\enum_value;
16+
1517
class PendingBatch
1618
{
1719
use Conditionable;
@@ -261,12 +263,12 @@ public function connection()
261263
/**
262264
* Specify the queue that the batched jobs should run on.
263265
*
264-
* @param string $queue
266+
* @param \BackedEnum|string|null $queue
265267
* @return $this
266268
*/
267-
public function onQueue(string $queue)
269+
public function onQueue($queue)
268270
{
269-
$this->options['queue'] = $queue;
271+
$this->options['queue'] = enum_value($queue);
270272

271273
return $this;
272274
}

src/Illuminate/Events/QueuedClosure.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use Closure;
66
use Laravel\SerializableClosure\SerializableClosure;
77

8+
use function Illuminate\Support\enum_value;
9+
810
class QueuedClosure
911
{
1012
/**
@@ -69,12 +71,12 @@ public function onConnection($connection)
6971
/**
7072
* Set the desired queue for the job.
7173
*
72-
* @param string|null $queue
74+
* @param \BackedEnum|string|null $queue
7375
* @return $this
7476
*/
7577
public function onQueue($queue)
7678
{
77-
$this->queue = $queue;
79+
$this->queue = enum_value($queue);
7880

7981
return $this;
8082
}

src/Illuminate/Foundation/Bus/PendingChain.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
use Illuminate\Support\Traits\Conditionable;
99
use Laravel\SerializableClosure\SerializableClosure;
1010

11+
use function Illuminate\Support\enum_value;
12+
1113
class PendingChain
1214
{
1315
use Conditionable;
@@ -83,12 +85,12 @@ public function onConnection($connection)
8385
/**
8486
* Set the desired queue for the job.
8587
*
86-
* @param string|null $queue
88+
* @param \BackedEnum|string|null $queue
8789
* @return $this
8890
*/
8991
public function onQueue($queue)
9092
{
91-
$this->queue = $queue;
93+
$this->queue = enum_value($queue);
9294

9395
return $this;
9496
}

src/Illuminate/Mail/Mailer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ protected function setGlobalToAndRemoveCcAndBcc($message)
465465
* Queue a new mail message for sending.
466466
*
467467
* @param \Illuminate\Contracts\Mail\Mailable|string|array $view
468-
* @param string|null $queue
468+
* @param \BackedEnum|string|null $queue
469469
* @return mixed
470470
*
471471
* @throws \InvalidArgumentException
@@ -486,7 +486,7 @@ public function queue($view, $queue = null)
486486
/**
487487
* Queue a new mail message for sending on the given queue.
488488
*
489-
* @param string $queue
489+
* @param \BackedEnum|string|null $queue
490490
* @param \Illuminate\Contracts\Mail\Mailable $view
491491
* @return mixed
492492
*/

0 commit comments

Comments
 (0)