Module: MongoidLocalizedFieldsFallbackPatch

Defined in:
lib/mongoid_localized_fields_fallback_patch.rb,
lib/mongoid_localized_fields_fallback_patch/version.rb

Constant Summary collapse

VERSION =
"1.0.0"

Instance Method Summary collapse

Instance Method Details

#lookup(object) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/mongoid_localized_fields_fallback_patch.rb', line 4

def lookup(object)
  locale = ::I18n.locale

  value = localized_value(object, locale)

  return value if [true, false].include?(value)
  return value unless value.blank?
  return unless fallbacks? && ::I18n.respond_to?(:fallbacks)

  fallback_locale = ::I18n.fallbacks[locale].find do |loc|
    value = localized_value(object, loc)
    loc if [true, false].include?(value)
    loc unless (value).blank?
  end

  return localized_value(object, fallback_locale)
end