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