class TidyI18n::DuplicateKeys
Attributes
locale[RW]
locale_file_paths[RW]
Public Class Methods
new(locale, locale_file_paths)
click to toggle source
# File lib/tidy_i18n/duplicate_keys.rb, line 9 def initialize(locale, locale_file_paths) self.locale = locale self.locale_file_paths = locale_file_paths end
Public Instance Methods
all()
click to toggle source
# File lib/tidy_i18n/duplicate_keys.rb, line 14 def all grouped_keys = translation_keys_for_current_locale.group_by(&:name).values grouped_keys.select do |occurrences| occurrences.count > 1 end.collect do |occurrences| OpenStruct.new({ :name => occurrences.first.name.sub(/^#{locale}\./, ""), :values => occurrences.collect(&:value) }) end end
Private Instance Methods
all_translation_keys()
click to toggle source
# File lib/tidy_i18n/duplicate_keys.rb, line 32 def all_translation_keys locale_file_paths.each.with_object({}) do |locale_file_path, locale_to_keys| keys = TidyI18n::TranslationKeys.parse(File.read(locale_file_path)) 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
translation_keys_for_current_locale()
click to toggle source
# File lib/tidy_i18n/duplicate_keys.rb, line 28 def translation_keys_for_current_locale all_translation_keys.fetch(locale.to_s, []) end