class Sources::Local::CachedLoader

Attributes

klass[R]

Public Class Methods

new(klass) click to toggle source
# File lib/countries/sources/local/cached_loader.rb, line 5
def initialize(klass)
  @klass = klass
  @loaded_countries = {}
end

Public Instance Methods

from_cache(country_code) click to toggle source
# File lib/countries/sources/local/cached_loader.rb, line 10
def from_cache(country_code)
  @loaded_countries[country_code]
end
load(country_code) click to toggle source
# File lib/countries/sources/local/cached_loader.rb, line 14
def load(country_code)
  if (data = from_cache(country_code))
    data
  else
    @loaded_countries[country_code] = klass.load(country_code)
  end
end
save(country_code, data) click to toggle source
# File lib/countries/sources/local/cached_loader.rb, line 22
def save(country_code, data)
  klass.new(country_code).save(data)
end