class CoinSync::CurrencyConverters::Cache
Public Class Methods
new(name)
click to toggle source
# File lib/coinsync/currency_converters/cache.rb, line 7 def initialize(name) @name = name @filename = "cache/#{name}.json" if File.exist?(@filename) @rates = JSON.parse(File.read(@filename)) else @rates = {} end end
Public Instance Methods
[](from, to, date)
click to toggle source
# File lib/coinsync/currency_converters/cache.rb, line 18 def [](from, to, date) @rates["#{from.code}:#{to.code}"] ||= {} @rates["#{from.code}:#{to.code}"][date.to_s] end
[]=(from, to, date, amount)
click to toggle source
# File lib/coinsync/currency_converters/cache.rb, line 23 def []=(from, to, date, amount) @rates["#{from.code}:#{to.code}"] ||= {} @rates["#{from.code}:#{to.code}"][date.to_s] = amount end
save()
click to toggle source
# File lib/coinsync/currency_converters/cache.rb, line 28 def save FileUtils.mkdir_p(File.dirname(@filename)) File.write(@filename, JSON.generate(@rates)) end