Open Monograph Press  3.3.0
SwapExchange.php
1 <?php
2 
3 namespace Money\Exchange;
4 
5 use Exchanger\Exception\Exception as ExchangerException;
10 use Swap\Swap;
11 
17 final class SwapExchange implements Exchange
18 {
22  private $swap;
23 
27  public function __construct(Swap $swap)
28  {
29  $this->swap = $swap;
30  }
31 
35  public function quote(Currency $baseCurrency, Currency $counterCurrency)
36  {
37  try {
38  $rate = $this->swap->latest($baseCurrency->getCode().'/'.$counterCurrency->getCode());
39  } catch (ExchangerException $e) {
40  throw UnresolvableCurrencyPairException::createFromCurrencies($baseCurrency, $counterCurrency);
41  }
42 
43  return new CurrencyPair($baseCurrency, $counterCurrency, $rate->getValue());
44  }
45 }
Money\Exception\UnresolvableCurrencyPairException
Definition: UnresolvableCurrencyPairException.php:13
Money\Exchange\SwapExchange\quote
quote(Currency $baseCurrency, Currency $counterCurrency)
Definition: SwapExchange.php:38
Money\Exchange\SwapExchange
Definition: SwapExchange.php:17
Money\CurrencyPair
Definition: CurrencyPair.php:12
Money\Exchange
Definition: Exchange.php:12
Money\Exchange\SwapExchange\__construct
__construct(Swap $swap)
Definition: SwapExchange.php:30
Money\Currency
Definition: vendor/moneyphp/money/src/Currency.php:14
Money\Currency\getCode
getCode()
Definition: vendor/moneyphp/money/src/Currency.php:47
Money\Exchange
Definition: ExchangerExchange.php:3
Money\Exception\UnresolvableCurrencyPairException\createFromCurrencies
static createFromCurrencies(Currency $baseCurrency, Currency $counterCurrency)
Definition: UnresolvableCurrencyPairException.php:23