PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.17.0
GiveWP – Donation Plugin and Fundraising Platform v4.17.0
4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 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 All 256 releases
give / vendor / moneyphp / money / src / Exchange / SwapExchange.php

SwapExchange.php in GiveWP – Donation Plugin and Fundraising Platform 4.17.0, at vendor/moneyphp/money/src/Exchange/SwapExchange.php

43 lines 1.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Money\Exchange;
4
5 use Exchanger\Exception\Exception as ExchangerException;
6 use Money\Currency;
7 use Money\CurrencyPair;
8 use Money\Exception\UnresolvableCurrencyPairException;
9 use Money\Exchange;
10 use Swap\Swap;
11
12 /**
13 * Provides a way to get exchange rate from a third-party source and return a currency pair.
14 *
15 * @author Márk Sági-Kazár <[email protected]>
16 */
17 final class SwapExchange implements Exchange
18 {
19 /**
20 * @var Swap
21 */
22 private $swap;
23
24 public function __construct(Swap $swap)
25 {
26 $this->swap = $swap;
27 }
28
29 /**
30 * {@inheritdoc}
31 */
32 public function quote(Currency $baseCurrency, Currency $counterCurrency)
33 {
34 try {
35 $rate = $this->swap->latest($baseCurrency->getCode().'/'.$counterCurrency->getCode());
36 } catch (ExchangerException $e) {
37 throw UnresolvableCurrencyPairException::createFromCurrencies($baseCurrency, $counterCurrency);
38 }
39
40 return new CurrencyPair($baseCurrency, $counterCurrency, $rate->getValue());
41 }
42 }
43