class Money::Bank::SingleCurrency

Class to ensure client code is operating in a single currency by raising if an exchange attempts to happen.

This is useful when an application uses multiple currencies but it usually deals with only one currency at a time so any arithmetic where exchanges happen are erroneous. Using this as the default bank means that that these mistakes don't silently do the wrong thing.

Public Instance Methods

exchange_with(from, to_currency, &block) click to toggle source

Raises a DifferentCurrencyError to remove possibility of accidentally exchanging currencies

# File lib/money/bank/single_currency.rb, line 19
def exchange_with(from, to_currency, &block)
  raise DifferentCurrencyError, "No exchanging of currencies allowed: #{from} #{from.currency} to #{to_currency}"
end