1
0
Fork 0
mirror of https://github.com/heartcombo/simple_form.git synced 2022-11-09 12:19:26 -05:00
heartcombo--simple_form/lib/simple_form/i18n_cache.rb

23 lines
567 B
Ruby
Raw Normal View History

2009-12-09 13:03:04 -05:00
module SimpleForm
# A lot of configuration values are retrived from I18n,
2009-12-09 13:03:04 -05:00
# like boolean collection, required string. This module provides
# caching facility to speed up form construction.
2009-12-09 13:03:04 -05:00
module I18nCache
def i18n_cache(key)
get_i18n_cache(key)[I18n.locale] ||= yield.freeze
end
2009-12-09 13:03:04 -05:00
def get_i18n_cache(key)
2010-01-09 08:34:52 -05:00
if class_variable_defined?(:"@@#{key}")
class_variable_get(:"@@#{key}")
else
reset_i18n_cache(key)
end
2009-12-09 13:03:04 -05:00
end
def reset_i18n_cache(key)
2010-01-09 08:34:52 -05:00
class_variable_set(:"@@#{key}", {})
2009-12-09 13:03:04 -05:00
end
end
end