class Cochimetl::ExchangeRate

Attributes

currency[RW]
value[RW]

Public Class Methods

new(value, currency) click to toggle source
# File lib/Cochimetl/exchange_rate.rb, line 6
def initialize(value, currency)
  @value = value
  self.from(currency)
end

Public Instance Methods

*(value) click to toggle source
# File lib/Cochimetl/exchange_rate.rb, line 31
def *(value)
  @value *= value
end
+(value) click to toggle source
# File lib/Cochimetl/exchange_rate.rb, line 23
def +(value)
  @value += value
end
-(value) click to toggle source
# File lib/Cochimetl/exchange_rate.rb, line 27
def -(value)
  @value -= value
end
/(value) click to toggle source
# File lib/Cochimetl/exchange_rate.rb, line 35
def /(value)
  @value /= value
end
from(new_currency) click to toggle source
# File lib/Cochimetl/exchange_rate.rb, line 19
def from(new_currency)
  @currency = new_currency
end
to(new_currency) click to toggle source
# File lib/Cochimetl/exchange_rate.rb, line 11
def to(new_currency)
  raise ArgumentError, "Currency '#{new_currency}' is not supported." unless Cochimetl.currencies.include? new_currency
  previous_currency = @currency
  @currency = new_currency
  @value *= (Cochimetl.client.exchange(previous_currency) / 1)
  @value /= Cochimetl.client.exchange(@currency)
end