class Core
Attributes
currencies[R]
dates[R]
rates[R]
Public Class Methods
new()
click to toggle source
# File lib/fafx/core.rb, line 5 def initialize data = load_data @rates = data @dates = data.keys @currencies = @rates[@dates.first].keys end
Public Instance Methods
rate(curr)
click to toggle source
# File lib/fafx/core.rb, line 12 def rate(curr) raise Fafx::CurrencyError, "#{curr} not found" unless @currencies.include?(curr) @rates[@dates.first][curr] end
rates_at(date, curr)
click to toggle source
# File lib/fafx/core.rb, line 17 def rates_at(date, curr) raise Fafx::DateError, 'Date not available' unless @dates.include?(date) raise Fafx::CurrencyError, "#{curr} not found" unless @currencies.include?(curr) @rates[date][curr] end
Private Instance Methods
load_data()
click to toggle source
# File lib/fafx/core.rb, line 25 def load_data rates = "#{File.join(File.dirname(__FILE__))}/rates.yaml" Fafx::ExchangeRate.update_data unless File.exist?(rates) YAML.load_file(rates) end