GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Client::overview()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 7
ccs 0
cts 7
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
declare(strict_types=1);
3
4
namespace ApiClients\Client\RabbitMQ\Management;
5
6
use ApiClients\Client\RabbitMQ\Management\Resource\OverviewInterface;
7
use ApiClients\Foundation\Factory;
8
use function Clue\React\Block\await;
9
use React\EventLoop\Factory as LoopFactory;
10
use React\EventLoop\LoopInterface;
11
use Rx\React\Promise;
12
13
final class Client implements ClientInterface
14
{
15
    /**
16
     * @var LoopInterface
17
     */
18
    private $loop;
19
20
    /**
21
     * @var AsyncClientInterface
22
     */
23
    private $asyncClient;
24
25
    /**
26
     * @param LoopInterface        $loop
27
     * @param AsyncClientInterface $asyncClient
28
     */
29
    private function __construct(LoopInterface $loop, AsyncClientInterface $asyncClient)
30
    {
31
        $this->loop = $loop;
32
        $this->asyncClient = $asyncClient;
33
    }
34
35
    /**
36
     * Create a new AsyncClient based on the loop and other options pass.
37
     *
38
     * @param  string $baseUrl
39
     * @param  string $username
40
     * @param  string $password
41
     * @param  array  $options
42
     * @return Client
43
     */
44
    public static function create(
45
        string $baseUrl,
46
        string $username,
47
        string $password,
48
        array $options = []
0 ignored issues
show
Unused Code introduced by
The parameter $options is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
49
    ): self {
50
        $loop = LoopFactory::create();
51
        $options = ApiSettings::getOptions($baseUrl, $username, $password, 'Sync');
52
        $client = Factory::create($loop, $options);
53
        $asyncClient = AsyncClient::createFromClient($client);
54
55
        return self::createFromClient($loop, $asyncClient);
56
    }
57
58
    /**
59
     * Create an Client from a AsyncClientInterface.
60
     * Be sure to pass in a client with the options from ApiSettings and the Sync namespace suffix,
61
     * and pass in the same loop as associated with the AsyncClient you're passing in.
62
     *
63
     * @param  LoopInterface        $loop
64
     * @param  AsyncClientInterface $asyncClient
65
     * @return Client
66
     */
67
    public static function createFromClient(LoopInterface $loop, AsyncClientInterface $asyncClient): self
68
    {
69
        return new self($loop, $asyncClient);
70
    }
71
72
    /**
73
     * @return OverviewInterface
74
     */
75
    public function overview(): OverviewInterface
76
    {
77
        return await(
78
            $this->asyncClient->overview(),
79
            $this->loop
80
        );
81
    }
82
83
    /**
84
     * @return array
85
     */
86
    public function queues(): array
87
    {
88
        return await(
89
            Promise::fromObservable(
90
                $this->asyncClient->queues()->toArray()
91
            ),
92
            $this->loop
93
        );
94
    }
95
96
    /**
97
     * @return array
98
     */
99
    public function connections(): array
100
    {
101
        return await(
102
            Promise::fromObservable(
103
                $this->asyncClient->connections()->toArray()
104
            ),
105
            $this->loop
106
        );
107
    }
108
}
109