Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 8
Retriever
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 2
20
0.00% covered (danger)
0.00%
0 / 8
 run
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 3
 all
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 5
1<?php
2
3namespace Qmp\Laravel\DockerScale\Retriever;
4
5use Qmp\Laravel\DockerScale\Retriever\Providers\DockerNodes;
6use Qmp\Laravel\DockerScale\Retriever\Providers\DockerServices;
7use Qmp\Laravel\DockerScale\Retriever\Providers\DockerStats;
8use Qmp\Laravel\DockerScale\Retriever\Providers\DockerTasks;
9use Qmp\Laravel\DockerScale\Retriever\Providers\LogParser;
10
11use Qmp\Laravel\DockerScale\Exceptions\DockerScaleException;
12
13class Retriever
14{
15    const NODES = DockerNodes::class;
16    const SERVICES = DockerServices::class;
17    const STATS = DockerStats::class;
18    const TASKS = DockerTasks::class;
19    const LOGS = LogParser::class;
20
21    public static function run(string $service)
22    {
23        if (!in_array($service, [self::NODES, self::SERVICES, self::STATS, self::TASKS, self::LOGS])) {
24            throw new DockerScaleException("Service '$service' does not exist !");
25        }
26
27        return (new $service())->run();
28    }
29
30    public static function all()
31    {
32        $services = [self::NODES, self::SERVICES, self::STATS, self::TASKS, self::LOGS];
33        $result = [];
34        foreach ($services as $service) {
35            $result[$service] = self::run($service);
36        }
37
38        return $result;
39    }
40}