2019-05-02 18:17:27 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-02-24 05:35:33 -05:00
|
|
|
require_relative "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 01:28:18 -04:00
|
|
|
def handle_scalar(node, depth, parents)
|
|
|
|
super
|
|
|
|
@keys_with_count[parents.join('.')] += 1
|
|
|
|
end
|
2017-02-24 05:35:33 -05:00
|
|
|
end
|