123456789_123456789_123456789_123456789_123456789_

Module: Gem::SafeYAML

Relationships & Source Files
Defined in: lib/rubygems/safe_yaml.rb

Overview

This module is used for safely loading ::YAML specs from a gem. The .safe_load method defined on this module is specifically designed for loading ::Gem specifications. For loading other ::YAML safely, please see Psych.safe_load

Constant Summary

Class Method Summary

Class Method Details

.load(input)

See additional method definition at line 38.

[ GitHub ]

  
# File 'lib/rubygems/safe_yaml.rb', line 54

def self.load(input)
  if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0.pre1')
    ::YAML.safe_load(input, permitted_classes: [::Symbol])
  else
    ::YAML.safe_load(input, [::Symbol])
  end
end

.safe_load(input, *args)

See additional method definition at line 30.

[ GitHub ]

  
# File 'lib/rubygems/safe_yaml.rb', line 50

def self.safe_load(input)
  if Gem::Version.new(Psych::VERSION) >= Gem::Version.new('3.1.0.pre1')
    ::YAML.safe_load(input, permitted_classes: PERMITTED_CLASSES, permitted_symbols: PERMITTED_SYMBOLS, aliases: true)
  else
    ::YAML.safe_load(input, PERMITTED_CLASSES, PERMITTED_SYMBOLS, true)
  end
end