GMPEncoder   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 4
c 2
b 0
f 0
dl 0
loc 15
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getDefaultOptions() 0 3 1
A supports() 0 3 2
A encode() 0 3 1
1
<?php
2
3
namespace Riimu\Kit\PHPEncoder\Encoder;
4
5
/**
6
 * Encoder for GMP number types.
7
 * @author Riikka Kalliomäki <[email protected]>
8
 * @copyright Copyright (c) 2014-2020 Riikka Kalliomäki
9
 * @license http://opensource.org/licenses/mit-license.php MIT License
10
 */
11
class GMPEncoder implements Encoder
12
{
13
    public function getDefaultOptions()
14
    {
15
        return [];
16
    }
17
18
    public function supports($value)
19
    {
20
        return \is_object($value) && \get_class($value) === \GMP::class;
21
    }
22
23
    public function encode($value, $depth, array $options, callable $encode)
24
    {
25
        return sprintf('gmp_init(%s)', $encode(gmp_strval($value)));
26
    }
27
}
28