Test Failed
Pull Request — master (#43)
by
unknown
02:23
created

SimpleCacheStorage::saveCompareAndSwap()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
cc 1
nc 1
nop 4
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Yii\RateLimiter\Storage;
6
7
use Psr\SimpleCache\CacheInterface;
8
9
final class SimpleCacheStorage implements StorageInterface
10
{
11 10
    public function __construct(private CacheInterface $cache)
12
    {
13 10
    }
14
15 6
    public function saveIfNotExists(string $key, mixed $value, int $ttl): bool
16
    {
17 6
        return $this->cache->set($key, $value, $ttl);
18
    }
19
20 7
    public function saveCompareAndSwap(string $key, mixed $oldValue, mixed $newValue, int $ttl): bool
21
    {
22 7
        return $this->cache->set($key, $newValue, $ttl);
23
    }
24
25
    public function get(string $key): ?float
26
    {
27
        /** @psalm-suppress MixedAssignment */
28
        $value = $this->cache->get($key);
29
30
        $value = (is_int($value) || is_float($value)) ? (float)$value : null;
31
        return $value;
32
    }
33
}
34