PTAX.Conversor (ptax v0.2.0)

Agrega funções de conversão de moeda

Link to this section Summary

Functions

Executa a conversão de um valor de uma moeda para outra

Link to this section Types

Specs

moeda() :: atom()

Specs

operacao() :: :compra | :venda

Specs

opts() :: %{
  de: moeda(),
  para: moeda(),
  data: Date.t(),
  operacao: operacao(),
  tipo_boletim: PTAX.Cotacao.Boletim.t()
}

Specs

valor() :: Decimal.decimal()

Link to this section Functions

Link to this function

run(valor, opts)

Specs

run(valor(), opts()) :: {:ok, Decimal.t()} | {:error, PTAX.Error.t()}

Executa a conversão de um valor de uma moeda para outra

Exemplo

iex> PTAX.Conversor.run(15, %{de: :BRL, para: :GBP, data: ~D[2021-12-24], operacao: :venda, tipo_boletim: PTAX.Cotacao.Boletim.Fechamento})
{:ok, #Decimal<1.9772>}
iex> PTAX.Conversor.run(5, %{de: :USD, para: :BRL, data: ~D[2021-12-24], operacao: :compra, tipo_boletim: PTAX.Cotacao.Boletim.Fechamento})
{:ok, #Decimal<28.2705>}