class CoinSync::PriceLoaders::Cache

Public Class Methods

new(name) click to toggle source
# File lib/coinsync/price_loaders/cache.rb, line 7
def initialize(name)
  @name = name
  @filename = "data/prices/#{name}.json"

  if File.exist?(@filename)
    @prices = JSON.parse(File.read(@filename))
  else
    @prices = {}
  end
end

Public Instance Methods

[](coin, time) click to toggle source
# File lib/coinsync/price_loaders/cache.rb, line 18
def [](coin, time)
  @prices[coin.code] ||= {}
  @prices[coin.code][time.to_i.to_s]
end
[]=(coin, time, price) click to toggle source
# File lib/coinsync/price_loaders/cache.rb, line 23
def []=(coin, time, price)
  @prices[coin.code] ||= {}
  @prices[coin.code][time.to_i.to_s] = price
end
save() click to toggle source
# File lib/coinsync/price_loaders/cache.rb, line 28
def save
  FileUtils.mkdir_p(File.dirname(@filename))
  File.write(@filename, JSON.generate(@prices))
end