Module: SimpleFormWithClientValidation::I18nCache
- Included in:
- SimpleFormWithClientValidation::Inputs::Base
- Defined in:
- lib/simple_form_with_client_validation/i18n_cache.rb
Overview
A lot of configuration values are retrived from I18n, like boolean collection, required string. This module provides caching facility to speed up form construction.
Instance Method Summary collapse
Instance Method Details
#get_i18n_cache(key) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/simple_form_with_client_validation/i18n_cache.rb', line 10 def get_i18n_cache(key) if class_variable_defined?(:"@@#{key}") class_variable_get(:"@@#{key}") else reset_i18n_cache(key) end end |
#i18n_cache(key) ⇒ Object
6 7 8 |
# File 'lib/simple_form_with_client_validation/i18n_cache.rb', line 6 def i18n_cache(key) get_i18n_cache(key)[I18n.locale] ||= yield.freeze end |
#reset_i18n_cache(key) ⇒ Object
18 19 20 |
# File 'lib/simple_form_with_client_validation/i18n_cache.rb', line 18 def reset_i18n_cache(key) class_variable_set(:"@@#{key}", {}) end |