module FriendlyId::I18n::ClassMethods
Public Instance Methods
exists_by_friendly_id?(id, locale = ::I18n.locale)
click to toggle source
# File lib/para/i18n/friendly_id.rb, line 52 def exists_by_friendly_id?(id, locale = ::I18n.locale) if (exists = by_friendly_id(id, locale).exists?) exists elsif (fallback_locale = Para::I18n::Fallbacks.i18n_fallback_for(locale)) && fallback_locale != locale then exists_by_friendly_id?(id, fallback_locale) end end
Private Instance Methods
by_friendly_id(id, locale = ::I18n.locale)
click to toggle source
# File lib/para/i18n/friendly_id.rb, line 74 def by_friendly_id(id, locale = ::I18n.locale) if locale == ::I18n.default_locale where(friendly_id_config.query_field => id) else json_path = "{#{ locale },#{ friendly_id_config.query_field }}" where("_translations#>>'#{ json_path }' = ?", id) end end
first_by_friendly_id(id, locale = ::I18n.locale)
click to toggle source
# File lib/para/i18n/friendly_id.rb, line 64 def first_by_friendly_id(id, locale = ::I18n.locale) if (first = by_friendly_id(id, locale).first) first elsif (fallback_locale = Para::I18n::Fallbacks.i18n_fallback_for(locale)) && fallback_locale != locale then first_by_friendly_id(id, fallback_locale) end end