Module: RuboCop::YAMLDuplicationChecker

Defined in:
lib/rubocop/yaml_duplication_checker.rb

Overview

Find duplicated keys from YAML.

Class Method Summary collapse

Class Method Details

.check(yaml_string, filename, &on_duplicated) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/rubocop/yaml_duplication_checker.rb', line 6

def self.check(yaml_string, filename, &on_duplicated)
  # Ruby 2.6+
  tree = if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0')
           # Specify filename to display helpful message when it raises
           # an error.
           YAML.parse(yaml_string, filename: filename)
         else
           YAML.parse(yaml_string, filename)
         end
  return unless tree

  traverse(tree, &on_duplicated)
end