class Money::Rate

Attributes

base[R]
values[R]

Public Instance Methods

convert_to(amount:, origin_currency:, new_currency:) click to toggle source
# File lib/currency_work/money.rb, line 79
def convert_to(amount:, origin_currency:, new_currency:)
  base_value = move_currency_to_base(amount, origin_currency)

  base_value * values[new_currency]
end
define_attrs(*args) click to toggle source
# File lib/currency_work/money.rb, line 75
def define_attrs(*args)
  @base, @values = args.flatten
end

Private Instance Methods

move_currency_to_base(amount, currency) click to toggle source
# File lib/currency_work/money.rb, line 89
def move_currency_to_base(amount, currency)
  return amount if currency == base

  amount / values[currency]
end