module Globalize
Helper class for storing values per locale. Used by Globalize::Adapter to stash and cache attribute values.
Constants
- ACTIVE_RECORD_50
- ACTIVE_RECORD_51
- ACTIVE_RECORD_52
- ACTIVE_RECORD_60
- ACTIVE_RECORD_61
- CURRENT_RUBY
- RUBY_VERSION_27
- Version
Public Class Methods
default_fallbacks(for_locale = self.locale)
click to toggle source
# File lib/globalize.rb, line 62 def default_fallbacks(for_locale = self.locale) i18n_fallbacks? ? I18n.fallbacks[for_locale] : [for_locale.to_sym] end
fallbacks(for_locale = self.locale)
click to toggle source
# File lib/globalize.rb, line 58 def fallbacks(for_locale = self.locale) read_fallbacks[for_locale] || default_fallbacks(for_locale) end
fallbacks=(locales)
click to toggle source
# File lib/globalize.rb, line 50 def fallbacks=(locales) set_fallbacks(locales) end
i18n_fallbacks?()
click to toggle source
# File lib/globalize.rb, line 54 def i18n_fallbacks? I18n.respond_to?(:fallbacks) end
locale()
click to toggle source
# File lib/globalize.rb, line 25 def locale read_locale || I18n.locale end
locale=(locale)
click to toggle source
# File lib/globalize.rb, line 29 def locale=(locale) set_locale(locale) end
rails_42?()
click to toggle source
# File lib/globalize.rb, line 75 def rails_42? ::ActiveRecord.version < ACTIVE_RECORD_50 end
rails_51?()
click to toggle source
# File lib/globalize.rb, line 83 def rails_51? ::ActiveRecord.version >= ACTIVE_RECORD_51 end
rails_52?()
click to toggle source
# File lib/globalize.rb, line 87 def rails_52? ::ActiveRecord.version >= ACTIVE_RECORD_52 end
rails_5?()
click to toggle source
# File lib/globalize.rb, line 79 def rails_5? ::ActiveRecord.version >= ACTIVE_RECORD_50 end
rails_61?()
click to toggle source
# File lib/globalize.rb, line 95 def rails_61? ::ActiveRecord.version >= ACTIVE_RECORD_61 end
rails_6?()
click to toggle source
# File lib/globalize.rb, line 91 def rails_6? ::ActiveRecord.version >= ACTIVE_RECORD_60 end
ruby_27?()
click to toggle source
# File lib/globalize.rb, line 71 def ruby_27? CURRENT_RUBY >= RUBY_VERSION_27 end
storage()
click to toggle source
Thread-safe global storage
# File lib/globalize.rb, line 67 def storage RequestStore.store end
with_locale(locale) { |locale| ... }
click to toggle source
# File lib/globalize.rb, line 33 def with_locale(locale, &block) previous_locale = read_locale begin set_locale(locale) result = yield(locale) ensure set_locale(previous_locale) end result end
with_locales(*locales, &block)
click to toggle source
# File lib/globalize.rb, line 44 def with_locales(*locales, &block) locales.flatten.map do |locale| with_locale(locale, &block) end end
Protected Class Methods
read_fallbacks()
click to toggle source
# File lib/globalize.rb, line 109 def read_fallbacks storage[:globalize_fallbacks] || HashWithIndifferentAccess.new end
read_locale()
click to toggle source
# File lib/globalize.rb, line 101 def read_locale storage[:globalize_locale] end
set_fallbacks(locales)
click to toggle source
# File lib/globalize.rb, line 113 def set_fallbacks(locales) fallback_hash = HashWithIndifferentAccess.new locales.each do |key, value| fallback_hash[key] = value.presence || [key] end if locales.present? storage[:globalize_fallbacks] = fallback_hash end
set_locale(locale)
click to toggle source
# File lib/globalize.rb, line 105 def set_locale(locale) storage[:globalize_locale] = locale.try(:to_sym) end