Issues (48)

Helper/CounterHelper.php (1 issue)

Labels
Severity
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
7
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
8
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
9
 *
10
 * Copyright (c) 2024 Mykhailo Shtanko [email protected]
11
 *
12
 * For the full copyright and license information, please view the LICENSE.MD
13
 * file that was distributed with this source code.
14
 */
15
16
namespace FRZB\Component\MetricsPower\Helper;
17
18
use FRZB\Component\MetricsPower\Attribute\PrometheusOptions;
0 ignored issues
show
The type FRZB\Component\MetricsPo...ibute\PrometheusOptions was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
19
use FRZB\Component\MetricsPower\Traits\WithPrivateEmptyConstructor;
20
21
final class CounterHelper
22
{
23
    use WithPrivateEmptyConstructor;
24
25
    private const REPLACE_FROM = ['-', '.'];
26
    private const REPLACE_TO = ['_', '_'];
27
28
    public static function makeName(PrometheusOptions $options, ?string $prefix = null, ?string $postfix = null): string
29
    {
30
        $topic = StringHelper::toSnakeCase($options->topic);
31
        $name = StringHelper::toSnakeCase($options->name);
32
33
        return match (true) {
34
            null !== $prefix && null !== $postfix => str_replace(self::REPLACE_FROM, self::REPLACE_TO, sprintf('%s_%s_%s_%s', $prefix, $topic, $name, $postfix)),
35
            null !== $prefix => str_replace(self::REPLACE_FROM, self::REPLACE_TO, sprintf('%s_%s_%s', $prefix, $topic, $name)),
36
            null !== $postfix => str_replace(self::REPLACE_FROM, self::REPLACE_TO, sprintf('%s_%s_%s', $topic, $name, $postfix)),
37
            default => str_replace(self::REPLACE_FROM, self::REPLACE_TO, sprintf('%s_%s', $topic, $name)),
38
        };
39
    }
40
}
41