CryptocurrencyCollection   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 37
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A loadEnabledCrypto() 0 7 2
A addCrypto() 0 5 1
1
<?php
2
3
/**
4
 * Cryptocurrency list package.
5
 * All cryptocurrencies infos in a single package without using a database.
6
 *
7
 * Copyright (C) 2018-2019 <Crypto Technology srl>
8
 *
9
 * This program is free software: you can redistribute it and/or modify
10
 * it under the terms of the GNU General Public License as published by
11
 * the Free Software Foundation, either version 3 of the License, or
12
 * (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License
20
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 */
22
23
declare(strict_types=1);
24
25
namespace CryptoTech\Cryptocurrency;
26
27
final class CryptocurrencyCollection
28
{
29
    /**
30
     * List of enabled cryptocurrencies.
31
     *
32
     * @var array
33
     */
34
    public static $crypto_enabled = [];
35
36
    /**
37
     * Load all enabled cryptocurrencies.
38
     *
39
     * @param array $crypto_enabled
40
     *
41
     * @return \CryptoTech\Cryptocurrency\CryptocurrencyCollection
42
     */
43
    public function loadEnabledCrypto(array $crypto_enabled): CryptocurrencyCollection
44
    {
45
        foreach ($crypto_enabled as $crypto) {
46
            $this->addCrypto($crypto);
47
        }
48
49
        return $this;
50
    }
51
52
    /**
53
     * Add a crypto to the cryptocurrencies list.
54
     *
55
     * @param string $crypto
56
     *
57
     * @return \CryptoTech\Cryptocurrency\CryptocurrencyCollection
58
     */
59
    public function addCrypto($crypto): CryptocurrencyCollection
60
    {
61
        array_push(self::$crypto_enabled, $crypto);
62
63
        return $this;
64
    }
65
}
66