Healthy   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
c 1
b 0
f 0
dl 0
loc 38
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getStatus() 0 3 1
A __construct() 0 3 1
A isHealthy() 0 3 1
A __invoke() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Cushon\HealthBundle\Message\Result\HealthCheck;
6
7
use Cushon\HealthBundle\ApplicationHealth\HealthReport\DependencyStatus;
8
use Cushon\HealthBundle\Message\Result\HealthCheck;
9
use Cushon\HealthBundle\Message\Result\Traits\DependencyTrait;
10
use Cushon\HealthBundle\Message\Result\Traits\JsonSerializableTrait;
11
use Ds\Set;
12
13
final class Healthy implements HealthCheck
14
{
15
    use DependencyTrait;
16
    use JsonSerializableTrait;
17
18
    /**
19
     * @param DependencyStatus ...$dependencies
20
     */
21
    public function __construct(DependencyStatus ...$dependencies)
22
    {
23
        $this->dependencies = new Set($dependencies);
24
    }
25
26
    /**
27
     * @return iterable<DependencyStatus>
28
     */
29
    public function __invoke(): iterable
30
    {
31
        return $this->dependencies();
32
    }
33
34
35
    /**
36
     * @inheritDoc
37
     */
38
    public function isHealthy(): bool
39
    {
40
        return true;
41
    }
42
43
    /**
44
     * @return string
45
     * @SuppressWarnings(PHPMD.UnusedPrivateMethod) Comes from the Trait which PHPMD cannot detect
46
     * @psalm-return 'healthy'
47
     */
48
    private function getStatus(): string
0 ignored issues
show
Unused Code introduced by
The method getStatus() is not used, and could be removed.

This check looks for private methods that have been defined, but are not used inside the class.

Loading history...
49
    {
50
        return self::STATUS_HEALTHY;
51
    }
52
}
53