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.
Completed
Push — master ( b7e0a9...e2927f )
by Cees-Jan
08:19
created

Client::overview()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

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 9.4285
c 0
b 0
f 0
cc 1
eloc 4
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 React\EventLoop\Factory as LoopFactory;
9
use React\EventLoop\LoopInterface;
10
use Rx\React\Promise;
11
use function Clue\React\Block\await;
12
use function React\Promise\resolve;
13
14
final class Client implements ClientInterface
15
{
16
    /**
17
     * @var LoopInterface
18
     */
19
    private $loop;
20
21
    /**
22
     * @var AsyncClientInterface
23
     */
24
    private $asyncClient;
25
26
    /**
27
     * Create a new AsyncClient based on the loop and other options pass
28
     *
29
     * @param string $baseUrl
30
     * @param string $username
31
     * @param string $password
32
     * @param array $options
33
     * @return Client
34
     */
35
    public static function create(
36
        string $baseUrl,
37
        string $username,
38
        string $password,
39
        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...
40
    ): self {
41
        $loop = LoopFactory::create();
42
        $options = ApiSettings::getOptions($baseUrl, $username, $password, 'Sync');
43
        $client = Factory::create($loop, $options);
44
        $asyncClient = AsyncClient::createFromClient($client);
45
        return self::createFromClient($loop, $asyncClient);
46
    }
47
48
    /**
49
     * Create an Client from a AsyncClientInterface.
50
     * Be sure to pass in a client with the options from ApiSettings and the Sync namespace suffix,
51
     * and pass in the same loop as associated with the AsyncClient you're passing in.
52
     *
53
     * @param LoopInterface $loop
54
     * @param AsyncClientInterface $asyncClient
55
     * @return Client
56
     */
57
    public static function createFromClient(LoopInterface $loop, AsyncClientInterface $asyncClient): self
58
    {
59
        return new self($loop, $asyncClient);
60
    }
61
62
    /**
63
     * @param LoopInterface $loop
64
     * @param AsyncClientInterface $asyncClient
65
     */
66
    private function __construct(LoopInterface $loop, AsyncClientInterface $asyncClient)
67
    {
68
        $this->loop = $loop;
69
        $this->asyncClient = $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