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