Module: YAMLCompat

Defined in:
lib/clacky.rb

Overview

YAML.safe_load with permitted_classes: keyword was added in Psych 4 (Ruby 3.1). On older Ruby, the second positional argument serves the same purpose. This helper provides a unified interface across Ruby versions.

Class Method Summary collapse

Class Method Details

.load_file(path, permitted_classes: []) ⇒ Object



59
60
61
# File 'lib/clacky.rb', line 59

def self.load_file(path, permitted_classes: [])
  safe_load(File.read(path), permitted_classes: permitted_classes)
end

.safe_load(yaml_string, permitted_classes: []) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/clacky.rb', line 51

def self.safe_load(yaml_string, permitted_classes: [])
  if Psych::VERSION >= "4.0"
    YAML.safe_load(yaml_string, permitted_classes: permitted_classes)
  else
    YAML.safe_load(yaml_string, permitted_classes)
  end
end