Class: Traco::LocaleFallbacks
- Inherits:
-
Object
- Object
- Traco::LocaleFallbacks
- Defined in:
- lib/traco/locale_fallbacks.rb
Constant Summary collapse
- OPTIONS =
[ DEFAULT_FALLBACK = :default, ANY_FALLBACK = :any, NO_FALLBACK = false, DEFAULT_FIRST_FALLBACK = :default_first, I18N_FALLBACK = :i18n, ]
Instance Method Summary collapse
- #[](current_locale) ⇒ Object
-
#initialize(fallback_option) ⇒ LocaleFallbacks
constructor
A new instance of LocaleFallbacks.
Constructor Details
#initialize(fallback_option) ⇒ LocaleFallbacks
Returns a new instance of LocaleFallbacks.
16 17 18 19 20 21 22 |
# File 'lib/traco/locale_fallbacks.rb', line 16 def initialize(fallback_option) validate_option(fallback_option) @fallback_option = fallback_option @default_locale = I18n.default_locale @available_locales = I18n.available_locales.sort end |
Instance Method Details
#[](current_locale) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/traco/locale_fallbacks.rb', line 24 def [](current_locale) case fallback_option when DEFAULT_FALLBACK then [ current_locale, @default_locale ] when ANY_FALLBACK then [ current_locale, @default_locale, *@available_locales ].uniq when NO_FALLBACK then [ current_locale ] when DEFAULT_FIRST_FALLBACK then [ @default_locale, *@available_locales ].uniq when I18N_FALLBACK then I18n.fallbacks[current_locale] when Array then [ current_locale, *fallback_option ] else raise "Unknown fallback." # Should never get here. end end |