Skip to content

redco/redcode-currency-rate

Repository files navigation

Currency Rates converter library Latest Stable Version Total Downloads

Build Status Code Coverage Scrutinizer Code Quality SensioLabsInsight Dependency Status

This library shows an efficient way to work with currencies and currency rates form Central Bank of Russia, European Central Bank, and Yahoo Finance. It contains base classes and interfaces which hide logic about loading currency rates, one of the most useful implementation is Symfony2 bundle.

Installing

Composer

You can easily install it with composer by command:

composer require redcode/currency-rate

Documentation

First of all you need to implement services ICurrencyRateManager, ICurrencyManager. Then DTO or Entity objects Currency and CurrencyRate.

After that create and configure currencyConverter:

use RedCode\Currency\Rate;

// we have initialized $currencyRateManager and $currencyManager

$providerFactory = new Provider\ProviderFactory();
$providerFactory->addProvider(
  new Provider\EcbCurrencyRateProvider`(
    $currencyRateManager, 
    $currencyManager
  )
);

$converter = new CurrencyConverter(
  $providerFactory, 
  $currencyRateManager, 
  $currencyManager
);

$convertedValue = $converter->convert('USD', 'GBP', 100);

Tests

To run tests use command below:

./tests/runTests.sh

Contribute

Pull requests are welcome. Please see our CONTRIBUTING guide.