class TidyI18n::MissingKeys
Attributes
locale_files[RW]
locale_to_validate[RW]
Public Class Methods
new(locale_to_validate, locale_files)
click to toggle source
# File lib/tidy_i18n/missing_keys.rb, line 10 def initialize(locale_to_validate, locale_files) self.locale_to_validate = locale_to_validate self.locale_files = locale_files end
Public Instance Methods
all()
click to toggle source
# File lib/tidy_i18n/missing_keys.rb, line 19 def all default_locale_keys = translation_keys_for_locale(default_locale) locale_to_validate_keys = translation_keys_for_locale(locale_to_validate) default_locale_keys.each.with_object([]) do |key_in_default_locale, keys| if !locale_to_validate_key_names.include?(key_in_default_locale.name) keys << OpenStruct.new({ :name => key_in_default_locale.name, :value_in_default_locale => key_in_default_locale.value }) end end end
default_locale()
click to toggle source
# File lib/tidy_i18n/missing_keys.rb, line 15 def default_locale I18n.default_locale end
Private Instance Methods
all_translation_keys()
click to toggle source
# File lib/tidy_i18n/missing_keys.rb, line 42 def all_translation_keys locale_files.each.with_object({}) do |locale_file, locale_to_keys| keys = TidyI18n::TranslationKeys.parse(File.read(locale_file)) if keys.any? current_locale = keys.first.name.split(".").first previous_keys = locale_to_keys.fetch(current_locale.to_s, []) locale_to_keys[current_locale.to_s] = previous_keys + keys.collect do |key| OpenStruct.new({ :name => key.name.sub(/^#{current_locale}\./, ""), :value => key.value }) end end end end
locale_to_validate_key_names()
click to toggle source
# File lib/tidy_i18n/missing_keys.rb, line 34 def locale_to_validate_key_names @locale_to_validate_key_names ||= translation_keys_for_locale(locale_to_validate).map(&:name) end
translation_keys_for_locale(locale)
click to toggle source
# File lib/tidy_i18n/missing_keys.rb, line 38 def translation_keys_for_locale(locale) all_translation_keys.fetch(locale.to_s, []) end