Permalink
075e7b2 Jan 9, 2010
@josevalim @carlosantoniodasilva
23 lines (20 sloc) 567 Bytes
module SimpleForm
# A lot of configuration values are retrived from I18n,
# like boolean collection, required string. This module provides
# caching facility to speed up form construction.
module I18nCache
def i18n_cache(key)
get_i18n_cache(key)[I18n.locale] ||= yield.freeze
end
def get_i18n_cache(key)
if class_variable_defined?(:"@@#{key}")
class_variable_get(:"@@#{key}")
else
reset_i18n_cache(key)
end
end
def reset_i18n_cache(key)
class_variable_set(:"@@#{key}", {})
end
end
end