# Forex v1.1.2 - Table of Contents A simple library for fetching and converting foreign exchange rates based on ECB data. ## Pages - [Introduction](readme.md) - [Changelog](changelog.md) - [License](license.md) ## Modules - [Forex](Forex.md): - [Forex.Cache](Forex.Cache.md): Since the ECB reference rates are usually updated at around 16:00 CET every working day we should cache the response. - [Forex.Cache.DETS](Forex.Cache.DETS.md): Implementation of the `Forex.Cache` behaviour using DETS. - [Forex.Cache.ETS](Forex.Cache.ETS.md): Implementation of the `Forex.Cache` behaviour using ETS. - [Forex.Currency](Forex.Currency.md): This module provides curreny information and utility functions. - [Forex.Feed](Forex.Feed.md): This module is responsible for fetching the latest exchange rates from the European Central Bank (ECB) and parsing the XML response. - [Forex.Feed.API](Forex.Feed.API.md): This module is responsible for defining the behaviour of the feed (HTTP) client. - [Forex.Feed.Parser](Forex.Feed.Parser.md): This module defines the behaviour of the parser that will be used to parse the XML response from the European Central Bank (ECB). - [Forex.Feed.Req](Forex.Feed.Req.md): The default HTTP API module for fetching the exchange rates from the European Central Bank (ECB). It implements the `Forex.Feed.API` behaviour and it uses `Req` as the HTTP client. - [Forex.Feed.SweetXmlParser](Forex.Feed.SweetXmlParser.md): This module implements the `Forex.Feed.Parser` behaviour using the SweetXml library. - [Forex.Fetcher](Forex.Fetcher.md): The `Forex.Fetcher` module is responsible for fetching the exchange rates from the cache or the feed on periodic intervals or on demand. - [Forex.Fetcher.Supervisor](Forex.Fetcher.Supervisor.md): Supervisor for the Forex.Fetcher module that fetches exchange rates. - [Forex.Options](Forex.Options.md): Options/configuration module for the Forex.Fetcher.Supervisor and the rates functions (`latest_rates/1`, `last_ninety_days_rates/1`, etc.) in the `Forex` module. - [Forex.Support](Forex.Support.md): The `Forex.Support` module provides helper functions, for example, for formatting the exchange rates values. - Exceptions - [Forex.CurrencyError](Forex.CurrencyError.md): Exception for currency errors. - [Forex.DateError](Forex.DateError.md): Exception for date errors. - [Forex.FeedError](Forex.FeedError.md): Exception for feed errors. - [Forex.FormatError](Forex.FormatError.md): Exception for format errors. ## Mix Tasks - [mix forex](Mix.Tasks.Forex.md): Prints Forex tasks and their information. - [mix forex.export.historic](Mix.Tasks.Forex.Export.Historic.md): Fetch and export the historic exchange rates from the European Central Bank to a file. - [mix forex.export.latest](Mix.Tasks.Forex.Export.Latest.md): Fetch and export the latest exchange rates from the European Central Bank to a file. - [mix forex.export.ninety](Mix.Tasks.Forex.Export.Ninety.md): Fetch and export the last ninety days exchange rates from the European Central Bank to a file.