discourse/lib/i18n/duplicate_key_finder.rb

19 lines
402 B
Ruby
Raw Normal View History

# frozen_string_literal: true
require "locale_file_walker"
class DuplicateKeyFinder < LocaleFileWalker
def find_duplicates(path)
@keys_with_count = Hash.new { 0 }
handle_document(Psych.parse_file(path))
@keys_with_count.select { |key, count| count > 1 }.keys
end
protected
2018-06-07 00:28:18 -05:00
def handle_scalar(node, depth, parents)
super
@keys_with_count[parents.join(".")] += 1
2018-06-07 00:28:18 -05:00
end
end