/home/techb158/immovalet.com/vendor/moneyphp/money/src/Exchange
Edit: /home/techb158/immovalet.com/vendor/moneyphp/money/src/Exchange/ExchangerExchange.php (1417B)
*/
final class ExchangerExchange implements Exchange
{
/**
* @var ExchangeRateProvider
*/
private $exchanger;
/**
* @param ExchangeRateProvider $exchanger
*/
public function __construct(ExchangeRateProvider $exchanger)
{
$this->exchanger = $exchanger;
}
/**
* {@inheritdoc}
*/
public function quote(Currency $baseCurrency, Currency $counterCurrency)
{
try {
$query = new ExchangeRateQuery(
new ExchangerCurrencyPair($baseCurrency->getCode(), $counterCurrency->getCode())
);
$rate = $this->exchanger->getExchangeRate($query);
} catch (ExchangerException $e) {
throw UnresolvableCurrencyPairException::createFromCurrencies($baseCurrency, $counterCurrency);
}
return new CurrencyPair($baseCurrency, $counterCurrency, $rate->getValue());
}
}