Skip to content

Commit 617ae5f

Browse files
authored
Support named parameters in KubernetesCluster functions (#2)
Co-authored-by: Niklas Gerstner <[email protected]>
1 parent 92bb1e5 commit 617ae5f

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/KubernetesCluster.php

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -363,9 +363,13 @@ public function __call(string $method, array $parameters)
363363
// Check the method from the proxied K8s::class exists.
364364
// For example, the method ->configmap() should exist.
365365
if (method_exists(K8s::class, $resource)) {
366+
$name = $parameters['name'] ?? $parameters[0];
367+
$namespace = $parameters['namespace'] ?? $parameters[1] ?? K8sResource::$defaultNamespace;
368+
$query = $parameters['query'] ?? ($parameters[2] ?? ['pretty' => 1]);
369+
366370
return $this->{$resource}()
367-
->whereNamespace($parameters[1] ?? K8sResource::$defaultNamespace)
368-
->getByName($parameters[0], $parameters[2] ?? ['pretty' => 1]);
371+
->whereNamespace($namespace)
372+
->getByName($name, $query);
369373
}
370374
}
371375

@@ -377,7 +381,9 @@ public function __call(string $method, array $parameters)
377381
$resource = Str::singular($resourcePlural);
378382

379383
if (method_exists(K8s::class, $resource)) {
380-
return $this->{$resource}()->allNamespaces($parameters[0] ?? ['pretty' => 1]);
384+
$query = $parameters['query'] ?? $parameters[0] ?? ['pretty' => 1];
385+
386+
return $this->{$resource}()->allNamespaces($query);
381387
}
382388
}
383389

@@ -389,9 +395,12 @@ public function __call(string $method, array $parameters)
389395
$resource = Str::singular($resourcePlural);
390396

391397
if (method_exists(K8s::class, $resource)) {
398+
$namespace = $parameters['namespace'] ?? $parameters[0] ?? K8sResource::$defaultNamespace;
399+
$query = $parameters['query'] ?? $parameters[1] ?? ['pretty' => 1];
400+
392401
return $this->{$resource}()
393-
->whereNamespace($parameters[0] ?? K8sResource::$defaultNamespace)
394-
->all($parameters[1] ?? ['pretty' => 1]);
402+
->whereNamespace($namespace)
403+
->all($query);
395404
}
396405
}
397406

0 commit comments

Comments
 (0)