SoftBank.Currency.Conversion (soft_bank v0.1.3) View Source
Module to Convert Currencies.
Link to this section Summary
Link to this section Functions
Specs
convert(SoftBank.Note.t(), atom(), SoftBank.Currency.Conversion.Rates.t()) :: SoftBank.Note.t()
Convert from currency A to B.
Example
iex> SoftBank.Currency.Conversion.convert(SoftBank.Note.new(7_00, :CHF), :USD, %SoftBank.Currency.Conversion.Rates{base: :EUR,
...> rates: %{CHF: 0.5, USD: 0.75}})
%SoftBank.Note{amount: 10_50, currency: :USD}
iex> SoftBank.Currency.Conversion.convert(SoftBank.Note.new(7_00, :EUR), :USD, %SoftBank.Currency.Conversion.Rates{base: :EUR,
...> rates: %{CHF: 0.5, USD: 0.75}})
%SoftBank.Note{amount: 5_25, currency: :USD}
iex> SoftBank.Currency.Conversion.convert(SoftBank.Note.new(7_00, :CHF), :EUR, %SoftBank.Currency.Conversion.Rates{base: :EUR,
...> rates: %{CHF: 0.5, USD: 0.75}})
%SoftBank.Note{amount: 14_00, currency: :EUR}
iex> SoftBank.Currency.Conversion.convert(SoftBank.Note.new(0, :CHF), :EUR, %SoftBank.Currency.Conversion.Rates{base: :EUR,
...> rates: %{CHF: 0.5, USD: 0.75}})
%SoftBank.Note{amount: 0, currency: :EUR}
iex> SoftBank.Currency.Conversion.convert(SoftBank.Note.new(7_20, :CHF), :CHF, %SoftBank.Currency.Conversion.Rates{base: :EUR,
...> rates: %{CHF: 0.5, USD: 0.75}})
%SoftBank.Note{amount: 7_20, currency: :CHF}
Specs
get_currencies(SoftBank.Currency.Conversion.Rates.t()) :: [atom()]
Get all currencies
Examples
iex> SoftBank.Currency.Conversion.get_currencies(%SoftBank.Currency.Conversion.Rates{base: :EUR,
...> rates: %{CHF: 0.5, USD: 0.75}})
[:EUR, :CHF, :USD]