Passed
Push — master ( 8b5ce5...b7fcc1 )
by Sebastian
12:08
created

CannedCurrencies   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 70
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 27
dl 0
loc 70
rs 10
c 1
b 0
f 0
wmc 9

9 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A usd() 0 5 1
A chf() 0 5 1
A eur() 0 5 1
A pln() 0 5 1
A ron() 0 5 1
A gbp() 0 5 1
A cad() 0 5 1
A mxn() 0 5 1
1
<?php
2
/**
3
 * @package Localization
4
 * @subpackage Currencies
5
 */
6
7
declare(strict_types=1);
8
9
namespace AppLocalize\Localization\Currencies;
10
11
use AppLocalize\Localization_Currency_CAD;
12
use AppLocalize\Localization_Currency_CHF;
13
use AppLocalize\Localization_Currency_EUR;
14
use AppLocalize\Localization_Currency_GBP;
15
use AppLocalize\Localization_Currency_MXN;
16
use AppLocalize\Localization_Currency_PLN;
17
use AppLocalize\Localization_Currency_RON;
18
use AppLocalize\Localization_Currency_USD;
19
use AppUtils\ClassHelper;
20
21
/**
22
 * Canned list of known currencies for easy access.
23
 *
24
 * Use {@see CurrencyCollection::choose()} to access this.
25
 *
26
 * @package Localization
27
 * @subpackage Currencies
28
 */
29
class CannedCurrencies
30
{
31
    private CurrencyCollection $currencies;
32
33
    public function __construct()
34
    {
35
        $this->currencies = CurrencyCollection::getInstance();
36
    }
37
38
    public function cad() : Localization_Currency_CAD
39
    {
40
        return ClassHelper::requireObjectInstanceOf(
41
            Localization_Currency_CAD::class,
42
            $this->currencies->getByID(Localization_Currency_CAD::ISO_CODE)
43
        );
44
    }
45
46
    public function chf() : Localization_Currency_CHF
47
    {
48
        return ClassHelper::requireObjectInstanceOf(
49
            Localization_Currency_CHF::class,
50
            $this->currencies->getByID(Localization_Currency_CHF::ISO_CODE)
51
        );
52
    }
53
54
    public function eur() : Localization_Currency_EUR
55
    {
56
        return ClassHelper::requireObjectInstanceOf(
57
            Localization_Currency_EUR::class,
58
            $this->currencies->getByID(Localization_Currency_EUR::ISO_CODE)
59
        );
60
    }
61
62
    public function gbp() : Localization_Currency_GBP
63
    {
64
        return ClassHelper::requireObjectInstanceOf(
65
            Localization_Currency_GBP::class,
66
            $this->currencies->getByID(Localization_Currency_GBP::ISO_CODE)
67
        );
68
    }
69
70
    public function mxn() : Localization_Currency_MXN
71
    {
72
        return ClassHelper::requireObjectInstanceOf(
73
            Localization_Currency_MXN::class,
74
            $this->currencies->getByID(Localization_Currency_MXN::ISO_CODE)
75
        );
76
    }
77
78
    public function pln() : Localization_Currency_PLN
79
    {
80
        return ClassHelper::requireObjectInstanceOf(
81
            Localization_Currency_PLN::class,
82
            $this->currencies->getByID(Localization_Currency_PLN::ISO_CODE)
83
        );
84
    }
85
86
    public function ron() : Localization_Currency_RON
87
    {
88
        return ClassHelper::requireObjectInstanceOf(
89
            Localization_Currency_RON::class,
90
            $this->currencies->getByID(Localization_Currency_RON::ISO_CODE)
91
        );
92
    }
93
94
    public function usd() : Localization_Currency_USD
95
    {
96
        return ClassHelper::requireObjectInstanceOf(
97
            Localization_Currency_USD::class,
98
            $this->currencies->getByID(Localization_Currency_USD::ISO_CODE)
99
        );
100
    }
101
}