PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.27.0
GiveWP – Donation Plugin and Fundraising Platform v2.27.0
4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / moneyphp / money / src / Exchange / ExchangerExchange.php
give / vendor / moneyphp / money / src / Exchange Last commit date
ExchangerExchange.php 4 years ago FixedExchange.php 4 years ago IndirectExchange.php 4 years ago ReversedCurrenciesExchange.php 4 years ago SwapExchange.php 4 years ago
ExchangerExchange.php
51 lines
1 <?php
2
3 namespace Money\Exchange;
4
5 use Exchanger\CurrencyPair as ExchangerCurrencyPair;
6 use Exchanger\Contract\ExchangeRateProvider;
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 /**
27 * @param ExchangeRateProvider $exchanger
28 */
29 public function __construct(ExchangeRateProvider $exchanger)
30 {
31 $this->exchanger = $exchanger;
32 }
33
34 /**
35 * {@inheritdoc}
36 */
37 public function quote(Currency $baseCurrency, Currency $counterCurrency)
38 {
39 try {
40 $query = new ExchangeRateQuery(
41 new ExchangerCurrencyPair($baseCurrency->getCode(), $counterCurrency->getCode())
42 );
43 $rate = $this->exchanger->getExchangeRate($query);
44 } catch (ExchangerException $e) {
45 throw UnresolvableCurrencyPairException::createFromCurrencies($baseCurrency, $counterCurrency);
46 }
47
48 return new CurrencyPair($baseCurrency, $counterCurrency, $rate->getValue());
49 }
50 }
51