Module: SerialTranslator

Extended by:
ActiveSupport::Concern
Defined in:
lib/serial_translator.rb,
lib/serial_translator/version.rb,
lib/serial_translator/serial_translator_length_validator.rb,
lib/serial_translator/serial_translator_presence_validator.rb

Defined Under Namespace

Modules: ClassMethods Classes: SerialTranslatorLengthValidator, SerialTranslatorPresenceValidator, TranslationType

Constant Summary collapse

VERSION =
"2.0.0"

Instance Method Summary collapse

Instance Method Details

#current_translation_localeObject



81
82
83
# File 'lib/serial_translator.rb', line 81

def current_translation_locale
  (@current_translation_locale || I18n.locale).to_sym
end

#translated_into?(locale) ⇒ Boolean

Returns:

  • (Boolean)


102
103
104
# File 'lib/serial_translator.rb', line 102

def translated_into?(locale)
  translated_locales.include?(locale.to_sym)
end

#translated_localesObject



89
90
91
92
93
94
95
96
# File 'lib/serial_translator.rb', line 89

def translated_locales
  result = []
  self.class.serial_translator_attributes.each do |attribute|
    translations = translations_for(attribute).select { |_, value| value.present? }
    result += translations.keys
  end
  result.uniq
end

#translation_fallback?Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/serial_translator.rb', line 85

def translation_fallback?
  @translation_fallback != false
end

#translations_for(attribute) ⇒ Object



98
99
100
# File 'lib/serial_translator.rb', line 98

def translations_for(attribute)
  __send__(:"#{attribute}_translations") || {}
end