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
-
PERMITTED_CLASSES =
# File 'lib/rubygems/safe_yaml.rb', line 10%w( Symbol Time Date Gem::Dependency Gem::Platform Gem::Requirement Gem::Specification Gem::Version Gem::Version::Requirement YAML::Syck::DefaultKey Syck::DefaultKey ).freeze
-
PERMITTED_SYMBOLS =
# File 'lib/rubygems/safe_yaml.rb', line 24%w( development runtime ).freeze
Class Method Summary
-
.load(input)
See additional method definition at line 38.
-
.safe_load(input, *args)
See additional method definition at line 30.
Class Method Details
.load(input)
See additional method definition at line 38.
.safe_load(input, *args)
See additional method definition at line 30.
# 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