PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
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 / ExchangerExchange.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
ExchangerExchange.php
48 lines
1 <?php
2
3 namespace Money\Exchange;
4
5 use Exchanger\Contract\ExchangeRateProvider;
6 use Exchanger\CurrencyPair as ExchangerCurrencyPair;
7 use Exchanger\Exception\Exception as ExchangerException;
8 use Exchanger\ExchangeRateQuery;
9 use Money\Currency;
10 use Money\CurrencyPair;
11 use Money\Exception\UnresolvableCurrencyPairException;
12 use Money\Exchange;
13
14 /**
15 * Provides a way to get exchange rate from a third-party source and return a currency pair.
16 *
17 * @author Maksim (Ellrion) Platonov <ellrion11@gmail.com>
18 */
19 final class ExchangerExchange implements Exchange
20 {
21 /**
22 * @var ExchangeRateProvider
23 */
24 private $exchanger;
25
26 public function __construct(ExchangeRateProvider $exchanger)
27 {
28 $this->exchanger = $exchanger;
29 }
30
31 /**
32 * {@inheritdoc}
33 */
34 public function quote(Currency $baseCurrency, Currency $counterCurrency)
35 {
36 try {
37 $query = new ExchangeRateQuery(
38 new ExchangerCurrencyPair($baseCurrency->getCode(), $counterCurrency->getCode())
39 );
40 $rate = $this->exchanger->getExchangeRate($query);
41 } catch (ExchangerException $e) {
42 throw UnresolvableCurrencyPairException::createFromCurrencies($baseCurrency, $counterCurrency);
43 }
44
45 return new CurrencyPair($baseCurrency, $counterCurrency, $rate->getValue());
46 }
47 }
48