Class: Mongoid::Fields::I18n
- Inherits:
-
Object
- Object
- Mongoid::Fields::I18n
- Defined in:
- lib/custom_fields/extensions/mongoid/fields/i18n.rb
Instance Attribute Summary collapse
-
#fallbacks ⇒ Object
Returns the value of attribute fallbacks.
-
#locale ⇒ Object
Returns the value of attribute locale.
Class Method Summary collapse
- .clear_fallbacks ⇒ Object
- .fallbacks ⇒ Object
- .fallbacks? ⇒ Boolean
- .fallbacks_for(locale, fallbacks) ⇒ Object
- .instance ⇒ Object
- .locale ⇒ Object
- .locale=(value) ⇒ Object
- .with_locale(new_locale = nil) ⇒ Object
Instance Attribute Details
#fallbacks ⇒ Object
Returns the value of attribute fallbacks.
8 9 10 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 8 def fallbacks @fallbacks end |
#locale ⇒ Object
Returns the value of attribute locale.
8 9 10 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 8 def locale @locale end |
Class Method Details
.clear_fallbacks ⇒ Object
41 42 43 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 41 def self.clear_fallbacks self.instance.fallbacks.try(:clear) end |
.fallbacks ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 22 def self.fallbacks if !self.instance.fallbacks.blank? self.instance.fallbacks elsif ::I18n.respond_to?(:fallbacks) ::I18n.fallbacks else nil end end |
.fallbacks? ⇒ Boolean
37 38 39 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 37 def self.fallbacks? !self.instance.fallbacks.blank? || (::I18n.respond_to?(:fallbacks) && !::I18n.fallbacks.blank?) end |
.fallbacks_for(locale, fallbacks) ⇒ Object
32 33 34 35 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 32 def self.fallbacks_for(locale, fallbacks) self.instance.fallbacks ||= {} self.instance.fallbacks[locale.to_sym] = fallbacks end |
.instance ⇒ Object
10 11 12 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 10 def self.instance Thread.current[:mongoid_i18n] ||= Mongoid::Fields::I18n.new end |
.locale ⇒ Object
14 15 16 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 14 def self.locale self.instance.locale || ::I18n.locale end |
.locale=(value) ⇒ Object
18 19 20 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 18 def self.locale=(value) self.instance.locale = value.to_sym rescue nil end |
.with_locale(new_locale = nil) ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/custom_fields/extensions/mongoid/fields/i18n.rb', line 45 def self.with_locale(new_locale = nil) if new_locale current_locale = self.locale self.locale = new_locale end yield ensure self.locale = current_locale if new_locale end |