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