Module: Fusuma::Config::YAMLDuplicationChecker

Defined in:
lib/fusuma/config/yaml_duplication_checker.rb

Overview

Class Method Summary collapse

Class Method Details

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



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/fusuma/config/yaml_duplication_checker.rb', line 8

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