Sha256: 3785da3e36853cd69b7a5103793fa74e22884e750f3d1dd157e6e540ee38d430
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
module FastGettext module Storage [:current_translations,:available_locales].each do |method| define_method method do thread_store(method) end define_method "#{method}=" do |value| write_thread_store(method,value) end end #global, since re-parsing whole folders takes too much time... @@text_domains={} def text_domains @@text_domains end def text_domain thread_store(:text_domain) end def text_domain=(new_text_domain) write_thread_store(:text_domain,new_text_domain) update_current_translations end def locale thread_store(:locale) || (available_locales||[]).first || 'en' end def locale=(new_locale) new_locale = new_locale.to_s if not available_locales or available_locales.include?(new_locale) write_thread_store(:locale,new_locale) update_current_translations end end private def update_current_translations self.current_translations = text_domains[text_domain][:mo_files][locale] || {} if text_domains[text_domain] end def thread_store(key) Thread.current["FastGettext.#{key}"] end def write_thread_store(key,value) Thread.current["FastGettext.#{key}"]=value end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
grosser-fast_gettext-0.2.5 | lib/fast_gettext/storage.rb |