PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.8
Booking for Appointments and Events Calendar – Amelia v2.4.8
2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / moneyphp / money / src / Exchange / ReversedCurrenciesExchange.php
ameliabooking / vendor / moneyphp / money / src / Exchange Last commit date
ExchangerExchange.php 2 years ago FixedExchange.php 2 years ago IndirectExchange.php 2 years ago ReversedCurrenciesExchange.php 2 years ago SwapExchange.php 2 years ago
ReversedCurrenciesExchange.php
47 lines
1 <?php
2
3 namespace Money\Exchange;
4
5 use Money\Currency;
6 use Money\CurrencyPair;
7 use Money\Exception\UnresolvableCurrencyPairException;
8 use Money\Exchange;
9
10 /**
11 * Tries the reverse of the currency pair if one is not available.
12 *
13 * Note: adding nested ReversedCurrenciesExchange could cause a huge performance hit.
14 *
15 * @author Márk Sági-Kazár <mark.sagikazar@gmail.com>
16 */
17 final class ReversedCurrenciesExchange implements Exchange
18 {
19 /**
20 * @var Exchange
21 */
22 private $exchange;
23
24 public function __construct(Exchange $exchange)
25 {
26 $this->exchange = $exchange;
27 }
28
29 /**
30 * {@inheritdoc}
31 */
32 public function quote(Currency $baseCurrency, Currency $counterCurrency)
33 {
34 try {
35 return $this->exchange->quote($baseCurrency, $counterCurrency);
36 } catch (UnresolvableCurrencyPairException $exception) {
37 try {
38 $currencyPair = $this->exchange->quote($counterCurrency, $baseCurrency);
39
40 return new CurrencyPair($baseCurrency, $counterCurrency, 1 / $currencyPair->getConversionRatio());
41 } catch (UnresolvableCurrencyPairException $inversedException) {
42 throw $exception;
43 }
44 }
45 }
46 }
47