All checks were successful
CI / Get Changed Files (pull_request) Successful in 30s
Pull Request Labeler / labeler (pull_request_target) Successful in 15s
CI / Backend Tests (pull_request) Has been skipped
Label PRs based on size / Check PR size (pull_request) Successful in 29s
CI / eslint (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
CI / oxlint (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Has been skipped
CI / prettier (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / test-build (pull_request) Has been skipped
CI / Playwright (pull_request) Has been skipped
Claude PR Review / claude-code (pull_request) Successful in 1m42s
27 lines
680 B
PHP
27 lines
680 B
PHP
<?php declare(strict_types=1);
|
|
|
|
namespace Neusta\IntexClient\Connection;
|
|
|
|
use Neusta\IntexClient\Connection\Model\Connection;
|
|
|
|
use function class_exists;
|
|
use function sprintf;
|
|
use function ucwords;
|
|
use function strtolower;
|
|
|
|
class Factory
|
|
{
|
|
public static function create(string $connectionType): Connection
|
|
{
|
|
$connectionPath = sprintf(
|
|
'\Neusta\IntexClient\Model\Connection\%sConnection',
|
|
ucwords(strtolower($connectionType))
|
|
);
|
|
|
|
if (class_exists($connectionPath)) {
|
|
return new $connectionPath();
|
|
}
|
|
|
|
throw new \RuntimeException('Invalid Connection Type given');
|
|
}
|
|
}
|